Turn cryptic error messages into actionable fixes
The AI-powered error explainer and debug assistant that turns stack traces into instant solutions. Pipe any error to this stack-trace-ai analyzer for AI-powered error fixes in under 2 seconds.
Pipe any error β AI analysis β copy-paste fix. Under 2 seconds.
Your build breaks. A 40-line stack trace stares back at you. You copy the error, open a browser, paste it into Google, click three Stack Overflow links from 2017, try two solutions that don't work, dig through GitHub issues, and finally find the fix 15 minutes later.
Meanwhile, your flow state is gone.
oops is your error message decoder: pipe cryptic errors to AI, get actionable fixes instantly, stay in the terminal, and keep coding.
# Option 1: Use without installing (fastest)
npx oops-ai
# Option 2: Install globally
npm install -g oops-ai
# Set your API key (get one at console.anthropic.com)
export ANTHROPIC_API_KEY="sk-ant-..."That's it. Now pipe any error:
npm run build 2>&1 | oops
python script.py 2>&1 | oops
cargo build 2>&1 | oops
docker build . 2>&1 | oops
kubectl logs pod/api-xyz 2>&1 | oopsWhy
2>&1? This redirects stderr (where errors live) to stdout sooopscatches everything.
|
Before π© |
After β‘ |
|
Before π© |
After β‘ |
|
Before π© |
After β‘ |
|
Before π© |
After β‘ |
|
Before π© |
After β‘ |
$ cargo build 2>&1 | oops
Problem: Cannot borrow `users` as mutable while borrowed as immutable
Solution: Limit the lifetime of the immutable borrow
let first_name = users[0].name.clone();
users.push(new_user); // Now OK
println!("{}", first_name);$ docker build -t myapp . 2>&1 | oops
Problem: Dockerfile parse error - unexpected EOF at line 12
Solution: Missing backslash in multi-line RUN command
RUN apt-get update && \
apt-get install -y curl$ git push origin main 2>&1 | oops
Problem: Remote contains commits you don't have locally
Solution:
$ git pull --rebase origin main
$ git push origin main$ kubectl logs pod/api-7d9f8b-xk2m 2>&1 | oops
Problem: ECONNREFUSED 10.0.0.5:5432 β Can't reach PostgreSQL
Solution:
1. Check DB service: kubectl get svc postgres-service
2. Verify DB_HOST env var in deployment
3. Test: kubectl run debug --image=postgres:15 ...- Google: Copy error β open browser β paste β click 3 links β try 2 wrong answers β find fix (5+ minutes)
oops: Pipe error β get fix (< 2 seconds)
Winner: oops (150x faster)
- Stack Overflow: Answers from 2017, language version mismatches, no project context
oops: Current AI model trained on latest docs, adapts to your specific error
Winner: oops (accurate + fresh)
- ChatGPT: Copy error β switch to browser β paste β wait 30s β copy solution β switch back to terminal
oops: Never leave the terminal
Winner: oops (native terminal workflow)
β
AI-powered instant analysis (Claude Sonnet 4.5)
β
Project context aware (detects language, framework, error type)
β
Terminal-native (pipe β fix, no browser)
β
~$0.003 per query (99% cheaper than 15 min of dev time)
Don't break focus hunting for fixes. Pipe the error, get the solution, keep coding.
npm test 2>&1 | oopsNew to the codebase? Don't Slack teammates for every error. Pipe it to oops first.
npm run build 2>&1 | oops # Instant learningBuild broke at 3am? No time to Google. Pipe the logs, ship the fix.
# GitHub Actions / GitLab CI logs
cat build.log | oopsRust borrow checker cryptic? Go interfaces confusing? oops explains while you learn.
cargo build 2>&1 | oops # "Oh, THAT'S why it won't compile"Catch errors before pushing broken code to main.
npm test 2>&1 | oops || exit 1 # Git pre-commit hook- Reads error from stdin (your failed command's output)
- Auto-detects context (language, framework, error type)
- Sends to Claude AI for analysis (~0.5β1.5s)
- Returns concise fix (copy-paste ready)
Privacy note: Error text is sent to Anthropic's API. Don't pipe secrets (API keys, passwords, tokens).
JavaScript Β· TypeScript Β· Python Β· Go Β· Rust Β· Java Β· C/C++ Β· Ruby Β· PHP Β· Docker Β· Kubernetes Β· Git Β· Shell Β· PostgreSQL Β· MySQL Β· npm Β· pip Β· cargo Β· and more
If it outputs an error, oops can decode it.
-v, --verbose Detailed analysis with multiple approaches
--no-color Disable colored output
-V, --version Show version
-h, --help Show help
# Add to ~/.zshrc or ~/.bashrc
alias oops-build='npm run build 2>&1 | oops'
alias oops-test='npm test 2>&1 | oops'
alias oops-start='npm start 2>&1 | oops'Docker builds spitting 10,000 lines? Trim for faster analysis:
docker build . 2>&1 | tail -100 | oopsnpm run build 2>&1 | oops > solution.txt# .git/hooks/pre-commit
npm test 2>&1 | oops || exit 1# Add to ~/.zshrc
k8s-debug() {
kubectl logs "$1" 2>&1 | oops
}
# Usage:
k8s-debug pod/api-7d9f8b-xk2m- Node.js 18+ (check with
node --version) - Anthropic API key (get one here)
export ANTHROPIC_API_KEY="sk-ant-..." # Add to ~/.zshrc to persistLove oops? Check out our other developer CLI tools:
- roast-cli β AI code reviews with Gordon Ramsay energy. Get brutally honest feedback before errors even happen.
- git-why β AI-powered git history explainer. Understand why that buggy code exists before you fix it.
- portguard β Monitor and kill zombie processes hogging your ports. Fix the
EADDRINUSEbefore you even needoops.
Read the launch article on Dev.to: 4 CLI Tools Every Developer Needs (That You've Never Heard Of)
MIT Β© MUIN
Built by MUIN β μΌνλ AI, λ리λ μΈκ°
π₯ Stop Googling errors. Pipe them to AI instead.
npm Β· GitHub Β· Dev.to Article