{"slug": "deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha", "title": "Deploy an app from Claude Code in 60 seconds — no dashboard, no CAPTCHA", "summary": "Openpouch, a new deployment tool created by developer Alex K., enables AI coding agents like Claude Code to deploy applications in under 60 seconds without requiring a dashboard, account, or CAPTCHA. The tool exposes a CLI and MCP server with 13 tools for the full deploy lifecycle, including deploy, verify, logs, inspect, and rollback, while deliberately omitting an approve tool to keep production deployments human-only. Openpouch builds apps on deploy, health-checks them, and outputs structured JSON for agent decision-making, supporting self-repair loops via logs.", "body_md": "Note:I'm the maker of openpouch. This is a how-to, written honestly — it's a technical preview and I'll be clear about the limits. Feedback very welcome.\n\nYour coding agent can write the app. It can write the tests. Then it hits **deploy** — and the cloud asks it to click a fire hydrant.\n\nThat's the thing nobody designed for: every deploy target assumes a *human* at a browser. CAPTCHAs, \"verify you're human\", dashboard-only toggles, OAuth flows that dead-end in a headless tab. An agent that can ship software can't get past a bot-wall built to stop bots.\n\n[openpouch](https://openpouch.dev) is the opposite of that: one command to a live URL, no account, no dashboard, no human-verification step anywhere. It ships as a CLI **and** an MCP server, so it drops into Claude Code (or Cursor, Codex, OpenClaw, …) as native tools. Here's the 60-second version from Claude Code.\n\n```\nclaude mcp add openpouch -- npx -y @openpouch/mcp\n```\n\nThat's it — a zero-dependency stdio MCP server, pulled on demand via `npx`\n\n. It exposes the full deploy lifecycle as **13 tools** (`openpouch_deploy`\n\n, `openpouch_verify`\n\n, `openpouch_logs`\n\n, `openpouch_inspect`\n\n, `openpouch_rollback`\n\n, `openpouch_list`\n\n, …). There is deliberately **no approve tool** — approving a production deploy is human-only, in every harness. An agent literally cannot approve its own prod deploy. Previews, though, it just ships.\n\nCan't attach MCP servers mid-session? You can prove the whole toolset from any plain shell — the recipe is in the [docs](https://openpouch.dev/docs/MCP.md). Or skip MCP entirely and use the CLI (`npx openpouch deploy`\n\n, same functions, `--json`\n\n+ exit codes).\n\nPoint Claude Code at any app folder and ask it to deploy. Under the hood it calls one tool:\n\n```\n// openpouch_deploy  { \"dir\": \".\" }\n```\n\nFor a full-stack app (an API behind the frontend), add a health path so the agent proves the backend is actually up, not just the shell:\n\n```\n// openpouch_deploy  { \"dir\": \".\", \"healthPath\": \"/api/health\" }\n```\n\nopenpouch builds the app **on deploy** (a raw Vite/React/Svelte source folder or a Node server with a build step — no local build needed), starts it in a hardened container, and health-checks it before telling you it's live.\n\nThe result is structured JSON — exactly what an agent needs to make a decision, plus a plain-language line for the human running it:\n\n```\n{\n  \"ok\": true,\n  \"url\": \"https://your-app-x1y2z3.openpouch.sh\",   // the shareable link\n  \"healthStatus\": \"healthy\",\n  \"summary\": \"Your app is live at https://…  — anyone you share it with can open it right away.\",\n  \"nextCommands\": { \"verify\": \"…\", \"logs\": \"…\", \"inspect\": \"…\" },\n  \"evidence\": [\"deploy.manifest.json\", \"deploy.evidence.json\", \"DEPLOYMENT.md\", \"…\"]\n}\n```\n\nThree things worth calling out:\n\n`summary`\n\n`DEPLOYMENT.md`\n\n, `deploy.evidence.json`\n\n, …). After a context reset, a fresh agent re-reads those files and knows exactly what's deployed, where, and how to resume. No hidden state.If the app comes back unhealthy, `openpouch_logs`\n\nshows the captured install/build/app output (tagged `[install]`\n\n/`[build]`\n\n/`[app]`\n\n) — the agent reads the cause, fixes it, redeploys, verifies. A real self-repair loop.\n\n`--var`\n\n/ `--env-file`\n\n, injected at runtime, reported by name only), but they're ephemeral — no persistent storage yet.\n\n```\nnpx openpouch deploy\n```\n\nOpen source, Apache-2.0: [github.com/openpouch/openpouch](https://github.com/openpouch/openpouch) · docs (for you *and* your agent): [openpouch.dev](https://openpouch.dev)\n\nIf your agent can write software, it should be able to ship it. That's the whole idea.", "url": "https://wpnews.pro/news/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha", "canonical_source": "https://dev.to/digit500/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha-hf8", "published_at": "2026-07-10 03:23:50+00:00", "updated_at": "2026-07-10 04:06:10.553722+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-infrastructure", "ai-products"], "entities": ["openpouch", "Claude Code", "Cursor", "Codex", "OpenClaw", "Alex K.", "MCP"], "alternates": {"html": "https://wpnews.pro/news/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha", "markdown": "https://wpnews.pro/news/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha.md", "text": "https://wpnews.pro/news/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha.txt", "jsonld": "https://wpnews.pro/news/deploy-an-app-from-claude-code-in-60-seconds-no-dashboard-no-captcha.jsonld"}}