I Let Claude Code Fix My Firebase Crashes#
Published on March 3, 2026
You're deep in a Claude Code session, shipping a fix, and your PM pings: "we're seeing a spike in crashes." Now you're alt-tabbing to the Firebase Console, clicking through filters, squinting at stack traces, and copy-pasting them back into your editor. What if your agent could just pull the crash data itself?
That's why I built crashpull — a zero-dependency CLI that pipes Firebase Crashlytics data straight into your terminal and AI coding agents.
What is crashpull#
crashpull is a single npx-runnable command. No install, no dependencies, no config files beyond firebase login:
npx -y crashpull@latest
Six commands, all with --format json for agents:
- doctor — preflight checks (auth, API access, config)
- init — link a Firebase project + app to your working directory
- list — top crash issues with filters (type, signal, time window)
- show — full issue detail with stack trace and blamed frame
- resolve — close an issue via API, no browser needed
- llm — print a compact system prompt for agent consumption
It reuses the Firebase CLI's stored refresh token — the same firebase login you already have. MIT licensed, open source.
Demo: 3-minute crash triage#
Here's the full loop from zero to resolved issue, all in your terminal:
Step 1: Link your project
npx -y crashpull@latest init
This prompts you to pick a Firebase project and app. Writes a .crashpull.json to your working directory — done once.
Step 2: See what's crashing
npx -y crashpull@latest list --type fatal --since 7d
You get a table of top crash issues — subtitle, event count, user count, signal, and issue ID:
# Subtitle Events Users Signal Type ID
1 NullPointerException at MainActivity.kt… 842 312 fresh fatal a1b2c3d4
2 IllegalStateException at PaymentFlow.kt… 156 89 regr. fatal e5f6g7h8
3 ArrayIndexOutOfBoundsException at… 43 28 repet. fatal i9j0k1l2
Step 3: Read the stack trace
npx -y crashpull@latest show a1b2c3d4
Full stack trace, blamed frame highlighted, event metadata included.
Step 4: Resolve it
npx -y crashpull@latest resolve a1b2c3d4
Issue marked as closed. No browser opened.
The agent workflow#
This is where it gets interesting for anyone using AI coding tools. The real power of crashpull is --format json.
Any agent that can run shell commands can triage your crashes. Claude Code, Cursor, Aider, Gemini CLI — it doesn't matter. There's no MCP server to configure, no plugin to install.
Here's what a real agent-assisted crash fix looks like:
1. Agent lists crashes:
npx -y crashpull@latest list --type fatal --since 7d --format json
Returns structured JSON with issue IDs, event counts, subtitles, and signals.
2. Agent reads the stack trace:
npx -y crashpull@latest show a1b2c3d4 --format json
The JSON includes the full callstack, blamed file/line, and exception details. The agent maps this to your local source code.
3. Agent proposes a fix, you approve, agent resolves:
npx -y crashpull@latest resolve a1b2c3d4
The whole loop — from "what's crashing?" to "fixed and closed" — without leaving your editor.
The llm command#
crashpull ships with a built-in llm command that prints a compact guide designed for agent system prompts:
npx -y crashpull@latest llm
Paste the output into your CLAUDE.md or system prompt, and the agent knows the exact commands, flags, and jq patterns to use. It's under 270 tokens — small enough to fit in any context window.
Adding crashpull to your CLAUDE.md#
Here's what I add to my project's CLAUDE.md:
## Crash Triage
Run `npx -y crashpull@latest llm` to get the full command reference.
Quick: `npx -y crashpull@latest list --type fatal --since 7d --format json`
Then: `npx -y crashpull@latest show <issueId> --format json` for stack traces.
Claude Code picks this up automatically and can triage crashes on its own when asked.
crashpull vs Firebase MCP#
Firebase recently shipped their own Crashlytics MCP tools. Here's an honest comparison:
Firebase MCP:
- Richer data (sessions, breadcrumbs, velocity alerts)
- Deep Gemini integration
- Requires an MCP-capable client
- More setup (MCP server configuration)
crashpull:
- Works in any terminal or agent — Claude Code, Cursor, Aider, bash scripts
- Zero dependencies,
npx-runnable - Agent-agnostic: anything that runs shell commands works
- Simple: 6 commands, one config file
- Open source, MIT licensed
They're complementary. If you're all-in on Gemini CLI and want the richest Crashlytics integration, use Firebase MCP. If you want something that works everywhere with zero setup, use crashpull.
Quick start#
# 1. Make sure you're logged into Firebase
firebase login
# 2. Init crashpull in your project directory
npx -y crashpull@latest init
# 3. List fatal crashes from the last week
npx -y crashpull@latest list --type fatal --since 7d
# 4. Dive into a specific crash
npx -y crashpull@latest show <issueId>
# 5. Fix it and resolve
npx -y crashpull@latest resolve <issueId>
That's it. No npm install, no config beyond firebase login.
Frequently Asked Questions#
What is crashpull?
A zero-dependency open-source CLI that pulls Firebase Crashlytics crash data into your terminal. Install nothing — just run npx crashpull.
Does crashpull work with Claude Code and Cursor?
Yes. Every command supports --format json output, and the crashpull llm command prints a compact agent guide you can add to your system prompt or CLAUDE.md.
How is crashpull different from Firebase Crashlytics MCP tools?
Firebase MCP requires an MCP-capable AI client (like Gemini CLI). crashpull works in any terminal or agent that can run shell commands — Claude Code, Cursor, Aider, or plain bash scripts.
Does crashpull require any dependencies?
No. It uses only Node.js built-ins and reuses the Firebase CLI's stored auth token. Just firebase login and go.
Can crashpull resolve/close Crashlytics issues?
Yes. crashpull resolve <issueId> marks an issue as closed via the API, no browser needed.
What platforms does crashpull support?
It pulls data for Android and iOS apps tracked in Firebase Crashlytics. The CLI runs on any platform with Node.js 18+.
Is crashpull free?
Yes, MIT licensed. Open source at github.com/DreamTeamMobile/crashpull.