{"slug": "stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with", "title": "Stop Flying Blind with Coding Agents: Inspect Claude Code and Codex Requests with ccglass", "summary": "A developer built ccglass, an open-source local observability tool that captures and displays AI coding agent requests and responses. The tool runs as a local proxy, allowing users to inspect model traffic from agents like Claude Code and Codex without TLS decryption or client modification. It provides a web dashboard showing tool calls, token usage, and latency to help debug agent behavior.", "body_md": "AI coding agents are getting good enough that they no longer feel like autocomplete.\n\nTools like Claude Code, Codex, OpenCode, Cursor, Cline, and other agentic coding systems can read files, modify code, run commands, call tools, inspect errors, and continue working across multiple turns.\n\nThat is useful. It is also increasingly opaque.\n\nWhen you ask an agent to fix a bug, you usually see the final answer and maybe a few tool calls in the terminal. But you often do not know:\n\nFor small experiments, guessing is fine. For real work, guessing is a bad debugging strategy.\n\nThat is why I built **ccglass**.\n\nGitHub: [https://github.com/jianshuo/ccglass](https://github.com/jianshuo/ccglass)\n\n**ccglass is a local observability tool for AI coding agents.**\n\nIt runs a local proxy, captures model requests and responses, and shows them in a web dashboard.\n\nThe goal is simple: make it easy to see what tools like Claude Code, Codex, DeepSeek-TUI, Kimi, OpenCode, Ollama, OpenRouter, and other agent clients are actually sending to the model.\n\nccglass can show:\n\nIt is not another coding agent. It is a visibility layer for the agents you already use.\n\nGeneral-purpose tools like Charles, mitmproxy, or Proxyman are great, but AI coding agents can be awkward to inspect with traditional proxy setups.\n\nSome clients do not reliably honor `HTTP_PROXY`\n\n/ `HTTPS_PROXY`\n\n. Some have their own networking behavior. Some use provider-specific base URL settings. Patching the client is fragile.\n\nccglass takes a more targeted approach.\n\nIt starts a local proxy, then launches or configures the target agent with the right base URL environment variable, such as:\n\n`ANTHROPIC_BASE_URL`\n\n`OPENAI_BASE_URL`\n\nThe agent sends model traffic to the local proxy. ccglass logs it, forwards it to the real upstream API, and renders the result in a dashboard.\n\nThat means you can inspect LLM traffic without installing a CA certificate, decrypting TLS, or modifying the client source code.\n\nInstall ccglass with npm:\n\n```\nnpm install -g ccglass\n```\n\nThen run:\n\n```\nccglass\n```\n\nYou can also start a specific client directly:\n\n```\nccglass claude\nccglass codex\nccglass opencode\nccglass deepseek\nccglass kimi\n```\n\nFor example:\n\n```\nccglass codex\n```\n\nWhen it starts, ccglass prints a local dashboard URL:\n\n```\ndashboard: http://127.0.0.1:57633\n```\n\nOpen that URL and you can watch requests appear as the agent works.\n\nSometimes an agent makes a bad decision because it did not see the context you expected.\n\nWith ccglass, you can inspect the actual messages sent to the model instead of guessing from the terminal output.\n\nYou can answer questions like:\n\nCoding agents are only as good as their tool loop.\n\nccglass lets you inspect the tools shown to the model, the tool call selected by the model, the arguments passed to the tool, and the result that was fed back into the next request.\n\nThat is useful when an agent:\n\nLong-running agent sessions can burn tokens quickly.\n\nccglass shows token usage, cache usage, estimated cost, and latency per request and per session.\n\nThat makes it easier to spot:\n\nIf you use local gateways, OpenAI-compatible endpoints, Anthropic-compatible endpoints, OpenRouter, Ollama, Bedrock, Vertex, or internal proxies, request shape matters.\n\nccglass helps you compare what the client sent with what the upstream expected.\n\nThis is especially useful when debugging:\n\n`base_url`\n\nconfigurationYou can export captured requests for deeper inspection or bug reports:\n\n```\nccglass export <session>/<seq> --format raw\nccglass export <session>/<seq> --format md\nccglass export <session>/<seq> --format json\nccglass export <session>/<seq> --format har\n```\n\nThat makes it easier to attach useful evidence when reporting issues to an agent, provider, or gateway project.\n\nccglass is useful if you:\n\nCodex has multiple auth and transport paths.\n\nIn API-key mode, routing through a configurable base URL works well for local proxy inspection.\n\nWhen Codex is authenticated through ChatGPT login, some traffic may use a WebSocket path that does not honor `OPENAI_BASE_URL`\n\n. In that case, local proxy tools like ccglass cannot see that traffic.\n\nThat distinction matters when debugging Codex routing.\n\nAs coding agents become more capable, developers need better tools for understanding agent behavior.\n\nThe interesting question is no longer only:\n\nDid the agent produce the right code?\n\nIt is also:\n\nWhy did the agent behave that way?\n\nTo answer that, you need visibility into prompts, context, tools, requests, latency, and cost.\n\nccglass is a small open-source step in that direction.\n\nGitHub: [https://github.com/jianshuo/ccglass](https://github.com/jianshuo/ccglass)\n\nInstall:\n\n```\nnpm install -g ccglass\n```\n\nIf you are building with coding agents and have ever wondered what they actually send to the model, give it a try.", "url": "https://wpnews.pro/news/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with", "canonical_source": "https://dev.to/houleixx/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with-ccglass-1oe8", "published_at": "2026-06-20 00:31:18+00:00", "updated_at": "2026-06-20 01:07:05.517765+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "large-language-models", "ai-tools", "ai-infrastructure"], "entities": ["Claude Code", "Codex", "OpenCode", "Cursor", "Cline", "DeepSeek-TUI", "Ollama", "OpenRouter"], "alternates": {"html": "https://wpnews.pro/news/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with", "markdown": "https://wpnews.pro/news/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with.md", "text": "https://wpnews.pro/news/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with.txt", "jsonld": "https://wpnews.pro/news/stop-flying-blind-with-coding-agents-inspect-claude-code-and-codex-requests-with.jsonld"}}