Products · Product
Terraform
Raised as a usability problem by 115 people on Hacker News over 13 years (2014–2026), in 89 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
- 1
- 2
- 3
- 4
- 5
Every issue, all time, most people first
State file is hard to fix once it breaks, often on applyUnreviewed
20142026- Non-backwards-compatible state file changes made redeploying impossible, forcing a restart and code rewrites2022-08-08
- State files always seem to be wrong, causing mismatches between desired and actual infrastructure2022-05-28
- State file is hard to fix or change once it has gone wrong, and state often breaks on apply2021-03-11
Import can't auto-detect resources or replace state entriesUnreviewed
20142026- Import is clunky for accounts with many resources2022-06-20
- Import can't auto-detect existing resources or replace state entries, so users must work around it2021-04-20
- Hard to set up, import into, and rename resources in state2016-08-30
Error messages don't say what caused the failureUnreviewed
20142026- Error messages are misleading or unclear, forcing users to read source code2025-03-08
- Error messages are unclear, leaving users unable to tell what caused the failure2025-03-06
- Error handling is poor, producing arcane and esoteric error messages that are hard to understand2023-10-30
Upgrading between 0.x versions constantly broke thingsUnreviewed
20142026- Upgrading between 0.x versions constantly broke things and required manual fiddling2021-08-13
- Upgrading across versions requires changing all code and testing every project, too costly2021-04-14
- Upgrading from 0.11 is a nightmare with no straightforward transformation for many things2019-05-23
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Text is unreadable on mobile and moves around while scrolling2026-10-07
- Helm charts break Terraform runs, and CRDs are hard to manage through Terraform providers2026-06-16
- Confusing tool that repeatedly plans to delete critical stateful resources2026-03-06
- Config language awkwardly mixes programming and config syntax, making module reorganization painful2026-02-20
- Described as awful and clumsy to work with, though the commenter says it was the least bad option2026-02-20
- Resource destruction depends on a local state file Terraform must track2026-01-26
- Shared singleton state file is confusing and easy to get out of sync2026-01-24
- Overloaded count parameter as conditional is confusing for developers used to real languages2025-12-11
- Large Terraform codebases are hard to read: verbose or fragmented into modules2025-12-10
- Reusing config needs a heavyweight module with a new directory and lots of boilerplate2025-06-20
- Author struggles to work out how to make Terraform do what they want with its limiting logic2025-06-19
- Auto-generated infrastructure diagrams are confusing and noisy, with no clear purpose2025-04-27
- Becomes frustrating once configurations get complex, wishing for a fuller language2025-04-12
- Infrastructure-as-code tools are so raw that they are incredibly annoying to use2025-03-24
- Error messages are misleading or unclear, forcing users to read source code2025-03-08
- Terraform's config format is very hard to parse, and for_each and count don't make intuitive sense2025-03-06
- Error messages are unclear, leaving users unable to tell what caused the failure2025-03-06
- Deleting data by accident is too easy and state can't be rolled back2025-03-01
- Module visibility between modules is confusing; they can seem to see inside each other but can't2025-02-16
- Abstraction makes it hard to tell what is actually going on underneath2025-01-11
- Commenter hates using Terraform, a developer tool for describing infrastructure2024-10-30
- Iterating nested maps with for loops is obtuse, especially with mixed types2024-05-15
- Engineers must learn many irrelevant details and struggle to connect the docs2024-03-17
- Removing rules from code silently leaves them in place on the next apply2024-02-05
- Plan succeeds but apply may still fail; deletes often need manual fixes2024-01-09
- Moderately complex tasks like loops and maps become painful in HCL2023-11-28
- Permissions management is a nightmare for large deployments2023-11-19
- Error handling is poor, producing arcane and esoteric error messages that are hard to understand2023-10-30
- Retries an API error for 20 minutes and can't be interrupted safely2023-10-30
- Refactoring code deletes and recreates resources, causing outages, and moved blocks are too limited2023-10-08
- Minor provider updates keep breaking production, forcing users to pin versions2023-10-08
- Shared state file forces tedious apply-then-push steps and merge conflicts for teams2023-10-08
- Hard to discover the required providers, IAM and fields without clicking through the console first2023-09-18
- Passing variables to modules and reading outputs needs too much verbose code2023-08-31
- Team found Terraform Cloud horrible and painful to work with2023-08-31
- Wrong-type argument passes validation silently; go-to-definition is flaky2023-08-15
- Hard to wire the Kubernetes provider to EKS or GKE in one apply2023-08-15
- Hard to configure and operate, with bizarre quirks and frequent blow-ups requiring manual fixes2023-08-15
- Configuration files with ridiculous formatting are a poor way to work2023-08-15
- Overwrought, must be hidden from anyone who is not an infrastructure specialist2023-08-15
- Plan output shows changes twice, so users get confused about which part matters2023-08-15
- Changing one setting means digging through many wrapped modules to find the variable2023-08-05
- Terraform is unusable for most tasks beyond basics, lacking support for procedural operations2023-08-02
- Engineers struggle to pick up Terraform, needing teaching sessions2023-06-30
- Simple things like conditionals are very hard to do; lots of copy-pasted code2023-04-13
- The word 'stacks' means different things across the Terraform ecosystem2023-03-09
- Can't find examples of multiple containers accessing each other's resources2023-01-04
- Awkward to use: camel-case to snake-case conversions, singular/plural renames, and hard-to-reuse configuration blocks2022-11-19
- Hard to discover how to do things; errors surface only after submitting large config files2022-10-14
- Unintuitive behavior at scale can unexpectedly destroy an entire cluster2022-09-10