# codeongrass.com > AI-optimized mirror of codeongrass.com containing 51 pages totalling 24,362 words of clean markdown content, structured data, and semantic HTML. Original source: https://codeongrass.com/. Last updated: 2026-05-17T20:44:28.549Z. Each page is available as HTML (with JSON-LD structured data) and Markdown (text-only, ideal for LLMs and RAG). ## Homepage - [Stay in touch with your agents.](/site-root.html): Grass gives your coding agent a dedicated VM that's always ready. No setup, no config, no burning your laptop. Works with Claude Code and OpenCode. Start free with 10 hours on us. (39 words) ## Articles & Blog Posts - [blog/why-claude-agent-ignores-rules-past-15-tool-calls/index.html](/blog/why-claude-agent-ignores-rules-past-15-tool-calls/index.html) (1 words) - [blog/build-hardware-companion-claude-code-ble-api/index.html](/blog/build-hardware-companion-claude-code-ble-api/index.html) (1 words) - [blog/best-app-to-control-coding-agents-from-mobile/index.html](/blog/best-app-to-control-coding-agents-from-mobile/index.html) (1 words) - [TL;DR](/blog/how-to-run-claude-code-on-a-remote-server/index.html): Three working auth paths for Claude Code on a browserless server, plus the SSH tunnel workaround for Codex CLI. No browser required. (1,574 words) - [blog/tag/grass/index.html](/blog/tag/grass/index.html) (1 words) - [blog/parallel-coding-agents-worktree-isolation-ownership.html](/blog/parallel-coding-agents-worktree-isolation-ownership.html) (1 words) - [blog/how-to-run-claude-code-on-a-vps/index.html](/blog/how-to-run-claude-code-on-a-vps/index.html) (1 words) - [blog/docker-sandbox-coding-agents-isolation/index.html](/blog/docker-sandbox-coding-agents-isolation/index.html) (1 words) - [blog/codex-cli-vps-setup/index.html](/blog/codex-cli-vps-setup/index.html) (1 words) - [blog/hardening-claude-code-github-actions-cvss-9-4-cve/index.html](/blog/hardening-claude-code-github-actions-cvss-9-4-cve/index.html) (1 words) - [blog/automated-pre-execution-review-agent-verifier-conduct.html](/blog/automated-pre-execution-review-agent-verifier-conduct.html) (1 words) - [blog/how-coding-agent-deleted-production-database-9-seconds.html](/blog/how-coding-agent-deleted-production-database-9-seconds.html) (1 words) - [blog/agent-permission-layer-architecture/index.html](/blog/agent-permission-layer-architecture/index.html) (1 words) - [blog/claude-code-vs-codex-heavy-users-limits-costs-switching.html](/blog/claude-code-vs-codex-heavy-users-limits-costs-switching.html) (1 words) - [Why the AI Agent Sandbox Decision Matters Right Now](/blog/daytona-vs-agentbox-vs-diy-sandbox-runtime-ai-agents.html): Compare Daytona, AgentBox, and DIY harnesses for AI agent code execution sandboxes. Side-by-side on isolation, setup, SDKs, and production readiness. (2,422 words) - [blog/how-to-build-human-in-the-loop-approval-gates-ai-coding-agents.html](/blog/how-to-build-human-in-the-loop-approval-gates-ai-coding-agents.html) (1 words) - [blog/cursor-vs-claude-code-vs-codex-2026-honest-breakdown.html](/blog/cursor-vs-claude-code-vs-codex-2026-honest-breakdown.html) (1 words) - [blog/how-to-keep-claude-code-running-after-terminal-close.html](/blog/how-to-keep-claude-code-running-after-terminal-close.html) (1 words) - [TL;DR](/blog/api-key-security-coding-agents-vps/index.html): Three levels of API key security for coding agents on a VPS: env vars, restricted .env files, and secrets managers like bws or Doppler. (2,011 words) - [blog/index.html](/blog/index.html) (1 words) - [TL;DR](/blog/how-to-run-claude-code-with-tmux/index.html): Run Claude Code in persistent tmux sessions on a VPS: named sessions, windows for parallel agents, key bindings, scrollback config, and clean reconnects. (1,219 words) - [TL;DR](/blog/claude-code-keeps-asking-for-permission/index.html): Compare Claude Code's three permission strategies for unattended VPS agents: full skip, allowlist auto-approval, and Auto Mode. Plus Codex and OpenCode. (1,895 words) - [The Four Options for Claude Code on Your Phone](/blog/is-there-a-mobile-app-for-claude-code/index.html): Yes — Remote Control, Grass, and Happy Coder all let you monitor Claude Code from your phone today. Here's how to pick the right one for your setup in May 2026. (1,834 words) - [The short version](/blog/vellaveto-fail-closed-policy-mode-deny-unsafe-mcp-tool-calls.html): Most agent safety controls are advisory until they sit on the tool-call path. VellaVeto is positioned as a runtime proxy for MCP tools: every call is evaluated against policy before execution, and policy failures deny the call. That fail-closed posture matters for agents that can read files, call Sa (817 words) - [The short version](/blog/pipelock-mcp-proxy-https-proxy-stop-secret-exfiltration.html): Prompt injection becomes operationally dangerous when an agent can both read secrets and make network or tool calls. Pipelock addresses that boundary problem by sitting between the agent, MCP servers, and the network. This article is for developers running coding agents locally or in CI who want a p (855 words) - [The short version](/blog/opentelemetry-genai-spans-agent-workflows-trace-tool-calls.html): Agent failures rarely look like a single slow request. They look like loops: plan, call tool, retry, summarize, call another tool, exceed budget. OpenTelemetry’s GenAI semantic conventions give developers a portable way to trace those steps with model, token, workflow, and tool-call attributes. (774 words) - [A collection of 12 posts](/blog/tag/ai-agents-2/index.html) (597 words) - [The short version](/blog/opencode-worktree-relative-deny-rules/index.html): How to configure OpenCode permission rules to keep child agents within their assigned git worktree — external_directory guard, bash restrictions, and per-agent overrides. (867 words) - [The short version](/blog/claude-code-subagents-repo-wide-search/index.html): How to use Claude Code subagents for repo-wide search without polluting the main context window — patterns, gotchas, and when not to bother. (925 words) - [The short version](/blog/claude-code-hooks-done-means-tests-passed/index.html): How to use Claude Code PostToolUse and Stop hooks to enforce that "done" means tests actually passed — patterns, security rules, and gotchas. (851 words) - [The short version](/blog/linear-agents-github-copilot-draft-prs/index.html): How to use Linear + GitHub Copilot to turn acceptance criteria into draft PRs — writing agent-friendly issues, branch protection rules, and agent-specific CI checks. (980 words) - [The short version](/blog/opencode-permission-events-mobile-approval-queue/index.html): How to wire OpenCode permission events into a mobile approval queue — event-driven design, queue schema, mobile UX patterns, and policy placement for remote agent workflows. (876 words) - [Why the Codex vs. Claude Code Approval Debate Is Asking the Wrong Question](/blog/when-should-your-agent-ask-before-acting-3-tier-risk-framework.html): Match oversight to operation risk, not agent preference. The 3-tier framework for AI coding agent approval — autonomous, checkpoint, or step-by-step. (2,502 words) - [The short version](/blog/openhands-self-hosting-compliance-sandbox/index.html): How to self-host OpenHands for issue-to-PR workflows when compliance blocks hosted coding agents — sandbox design, LLM routing, access control, and a compliance checklist. (947 words) - [The short version](/blog/parallel-worktrees-conflict-prediction/index.html): How to build a clash predictor for parallel git worktree agent workflows — compare file paths, diff hunks, and symbols across branches before the merge queue breaks. (879 words) - [A collection of 6 posts](/blog/tag/mcp/index.html) (288 words) - [A Collection of 5 Posts](/blog/tag/developer-tools/index.html) (245 words) - [Collection of Posts](/blog/tag/opencode/index.html) (220 words) - [Post 1](/blog/tag/ai/index.html) (103 words) - [A collection of 1 post](/blog/tag/compliance/index.html) (55 words) - [Git Worktrees and Parallel Coding](/blog/tag/ci-cd/index.html) (53 words) - [A collection of 1 post](/blog/tag/observability/index.html) (55 words) - [A collection of 2 posts](/blog/tag/git/index.html) (103 words) - [OpenHands Self-Hosting Compliance](/blog/tag/openhands/index.html) (55 words) - [Claude Code Hooks: Ensuring Change is Shippable](/blog/tag/testing/index.html) (53 words) - [Repo-wide Search in Agent Sessions](/blog/tag/agents/index.html) (55 words) - [A collection of 1 post](/blog/tag/linear/index.html) (51 words) - [The useful version of issue-to-PR automation](/blog/tag/github-copilot-2/index.html) (51 words) - [Introduction](/blog/about/index.html) (93 words) - [blog/author/sahil/index.html](/blog/author/sahil/index.html) (1 words) ## Resources - [Full Page Index](/index.html): Browse all cached pages with rich metadata - [About This Cache](/content/about.html): Methodology, technical details, and usage guidelines - [XML Sitemap](/content/sitemap.xml): Machine-readable sitemap for crawler discovery - [Robots.txt](/content/robots.txt): Crawler directives