Pains
2403 pains collected
Difficult workflow re-run and testing experience
5GitHub Actions provides no simple way to re-run workflows against the tip of a branch, making it difficult to handle transient failures and test workflow changes. Developers must work around this limitation by adding additional triggers, which is unintuitive and slows development velocity.
GitHub Actions lacks early validation of workflow syntax and job dependencies
5Workflow syntax errors and broken `needs` clauses are only discovered after pushing code. Linters exist but are imperfect. Developers cannot validate workflows locally before commit, forcing a push-and-wait debugging cycle.
Limited Multimodal Capabilities Beyond Vision
5Claude 3.5 Sonnet lacks audio processing, video analysis, and advanced image generation capabilities. Businesses requiring comprehensive multimodal AI must integrate additional tools, increasing complexity and costs compared to more versatile competitors.
Limited ecosystem and fewer third-party integrations
5Claude's ecosystem is smaller than OpenAI's with fewer libraries, tools, and tutorials available. Developers must solve problems themselves that are well-documented for OpenAI.
Opaque cost metrics and unpredictable platform expenses
5Vercel's usage dashboard shows metrics like 'Fluid Active CPU' and 'ISR Writes' without clear documentation on how they impact costs or how to optimize them. Developers pay subscription fees but lack visibility into what drives spending, making budgeting impossible.
Lack of open-source model weights limits on-premise deployment
5Claude model weights are not open-source, preventing developers from deploying models on-premise or customizing them for specific use cases, unlike competitors like Mistral or LLaMA 3.
Python SNI Zero-Length Extension Bug
5Python 3 may send a zero-length server name extension (SNI), causing tlsv1 alert decode errors that break TLS connections.
MCP protocol confusion about server lifecycle vs client session lifecycle
5The `lifespan` parameter in MCP SDK was ambiguous and commonly misunderstood—developers thought it referred to client sessions when it should refer to server lifecycle (e.g., database connections), causing initialization and cleanup logic to run incorrectly.
High latency on Opus model under load with large context
5Claude Opus experiences significant latency spikes when processing requests with 200K token context windows during periods of high load, impacting real-time application responsiveness.
DNSSEC Complexity in Configuration and Maintenance
5While DNSSEC provides integrity verification, it is tricky to configure and maintain, especially for teams unfamiliar with key rollover and DS record delegation. Additionally, DNSSEC does not encrypt DNS traffic, only verifies it.
Voice Recognition Inconsistencies
4ChatGPT's voice recognition function, despite improvements in GPT-4o, presents frequent errors and inconsistencies when processing spoken input.
Slow or confusing redirect flows degrade user experience
4Poor redirect flow performance or UX causes user frustration and abandonment. Developers must optimize and clarify the post-authorization redirect experience.
C++17 Filesystem library has poor API design
4The Filesystem library, while useful, adopts a coding style and type encapsulation approach from Boost that is divisive and overly complex, with excessive namespace nesting.
Using forks requires complicated workarounds
4Developers cannot easily use a forked version of a dependency while waiting for an upstream bug fix, creating friction in the development workflow.
Ignoring User Instructions and Formatting Requirements
4ChatGPT frequently fails to adhere to specific user instructions such as formatting requirements or maintaining a particular writing style, leading to outputs that don't match requested specifications.
Prisma always returns full objects even when not requested
4Prisma returns complete objects for all CRUD operations by default, even for delete operations where the return value is not needed, wasting bandwidth and computational resources.
Fragmented documentation across distributions
4With many distributions and configurations, tutorials and guides often apply only to specific setups, making it difficult for users to find relevant help and adding friction for newcomers.
Dictionary Resizing and Rehashing Performance Impact
4Failing to preset Dictionary capacity causes expensive Resizing and Rehashing operations when capacity is exceeded, significantly increasing memory allocation overhead if data volume is known.
Vendor Lock-in Concerns Due to Google Stewardship
4Developers express concerns about potential vendor lock-in and lack of control given that Go is primarily controlled by Google. This is seen as problematic compared to languages with large, independent open-source communities.
Stricter Message Limits and 'AI Shrinkflation'
4GPT-5 launch introduced stricter message limits for paid subscribers and removed access to older, preferred models, creating a perception of 'AI shrinkflation' where users receive fewer capabilities for the same cost.
Unclear Feedback Channels and Community Defensiveness
4Users struggle to find where to provide feedback on Snap programs. The feedback mechanism is overwhelming and unclear. Community responses to user concerns are defensive and dismissive.
Rails opinionatedness creates friction despite structural benefits
4While Rails' opinionated structure helps new developers, it can feel restrictive and create friction for those with different preferences or requirements. The tradeoff between enforced structure and flexibility remains unresolved.
IDE usability issues and hidden functionality on Linux
4Linux IDEs tend to have interfaces hidden behind deep, unintuitive menus where simple tasks require digging through documentation or web searches. Point-and-click interfaces slow down power users.
Lack of model selection control and transparency
4Codex automatically selects which model version handles a task based on internal criteria (task complexity, repo size) without user visibility or control. Developers cannot choose between model sizes despite understanding the trade-offs for their specific use case.