# Canopy practical guides > Step-by-step workflows for coding agents, local services, model usage, Git review, privacy, and project handoffs in Canopy. Canopy runs installed coding CLIs; each CLI keeps its own account, model, network behavior, and billing. Check the installed release for version-specific features. Each link below opens a clean Markdown version of the article. ## Pages - [Agent session, terminal tab, branch, or worktree: what is the difference?](https://canopyide.dev/guides/agent-session-vs-tab-vs-worktree.md): A practical map of the four things people mix up when running multiple coding agents, with a two-agent example and checkout verification commands. - [AI-built app works locally but fails on Vercel Preview](https://canopyide.dev/guides/ai-built-app-works-locally-fails-vercel-preview.md): Find the first difference between a working Canopy run and a broken Vercel Preview: commit, build, environment, runtime request, or backend target. - [AI-generated pull request review checklist and reviewer prompt](https://canopyide.dev/guides/ai-generated-pr-review-checklist.md): A practical checklist for intent, changed files, risk, tests, UI behavior, comments, and the final diff, with a copyable reviewer brief. - [An AI coding-agent task brief you can copy and use](https://canopyide.dev/guides/ai-coding-agent-task-brief-template.md): A bounded brief with context, acceptance checks, constraints, and a handoff format for Claude Code, Codex, or another coding CLI. - [Can a noncoder build software with AI coding agents?](https://canopyide.dev/guides/can-noncoders-build-software-with-ai-agents.md): A realistic first-project path for noncoders: choose a bounded task, run the result, review observable behavior, and know when a developer must check the change. - [Can I launch my AI-built app? A founder's decision sheet](https://canopyide.dev/guides/ai-built-app-launch-checklist-for-founders.md): A go-or-hold review for an AI-built web app: running behavior, access, data, payments, recovery, and the exact release version. - [Can two coding agents use the same development database?](https://canopyide.dev/guides/parallel-coding-agents-share-development-database.md): Find which database each agent worktree really uses, choose shared or isolated state deliberately, and review competing migrations before integration. - [Coding agent hit a usage limit mid-task? Save the work first](https://canopyide.dev/guides/coding-agent-hit-usage-limit-mid-task.md): Identify the actual limit, preserve the checkout and partial result, then resume, wait, or hand off without repeating work or changing accounts blindly. - [Coding agent stuck or waiting for input? Check the live session](https://canopyide.dev/guides/coding-agent-stuck-or-waiting-for-input.md): Distinguish a pending decision, active tool, running dev server, completed turn, and failed agent before interrupting or restarting. - [Debug an agent-built page using the browser console and network log](https://canopyide.dev/guides/debug-agent-built-page-with-console-and-network.md): Collect the exact failing action, console message, request status, service log, and checkout before asking an agent to fix a broken preview. - [Did your coding agent weaken a test to make CI pass?](https://canopyide.dev/guides/did-coding-agent-weaken-test-to-make-ci-pass.md): Review changed assertions, skips, mocks, and browser setup against the original behavior before accepting an agent's green check. - [Did your coding-agent skill actually load? A five-minute test](https://canopyide.dev/guides/check-if-coding-agent-skill-loaded.md): Separate skill discovery, invocation, and useful execution with an explicit test, a natural-language test, and one negative control. - [Git worktrees for parallel coding agents: commands and cleanup](https://canopyide.dev/guides/git-worktrees-for-parallel-coding-agents.md): Create a separate branch and directory per coding agent, check status, integrate reviewed work, and remove worktrees safely. - [How do I ask a coding agent for a demo I can inspect?](https://canopyide.dev/guides/ask-coding-agent-for-inspectable-demo.md): A founder-friendly request and acceptance checklist that turns an agent's 'done' message into a running page, observable behavior, and a reviewable diff. - [How do I check an AI-built page with a keyboard and screen reader?](https://canopyide.dev/guides/test-ai-built-ui-keyboard-screen-reader-before-merge.md): Review an agent-built form and dialog with keyboard, accessible-name, error, and screen-reader checks before accepting the PR. - [How do I find the command that runs an AI-built app?](https://canopyide.dev/guides/find-command-to-run-ai-built-app.md): A beginner workflow for finding the project directory, runtime, run script, local URL, and first useful error before asking an agent to fix setup. - [How do I keep a coding agent in the right app in a monorepo?](https://canopyide.dev/guides/coding-agent-in-monorepo-right-app-package.md): Identify the owning package, shared dependencies, checkout, and run command before an agent edits one feature in a multi-app repository. - [How do I resolve a merge conflict between two coding agents?](https://canopyide.dev/guides/resolve-merge-conflict-between-coding-agents.md): Find the conflicting branches, compare each agent's intent, make one integration decision, and test the combined behavior. - [How do I run a Trigger.dev worker beside my app in Canopy?](https://canopyide.dev/guides/run-trigger-dev-worker-in-canopy.md): Set up Trigger.dev once, save its dev command beside the website and API, run a dashboard test, and debug the right process. - [How do I run Supabase locally with my AI-built app?](https://canopyide.dev/guides/run-supabase-locally-with-ai-built-app.md): Start the Supabase CLI stack, connect the local app to its actual project URL and keys, and verify a test record stays off production. - [How do I stop a coding agent rebuilding a feature that already exists?](https://canopyide.dev/guides/stop-coding-agent-rebuilding-existing-feature.md): Make the agent locate the active implementation and its callers before editing, then review the smallest change against the running app. - [How do I test a Trigger.dev email task without emailing real users?](https://canopyide.dev/guides/test-trigger-dev-email-task-without-real-users.md): Trace one local signup through the Development worker and a test email destination before an agent runs a side-effecting task. - [How do I test an AI-built UI before merging it?](https://canopyide.dev/guides/test-agent-built-ui-before-merge.md): Review the running page across viewport sizes, interaction states, console and network errors, keyboard use, and the latest PR diff. - [How do I turn a Figma design into a running page with a coding agent?](https://canopyide.dev/guides/figma-design-to-running-page-with-coding-agent-canopy.md): Hand an agent one frame, states, assets, and component constraints; run the page in Canopy and review behavior, visuals, and the final diff. - [How many coding agents should you run at once?](https://canopyide.dev/guides/how-many-coding-agents-to-run-at-once.md): A practical way to size parallel agent work by independent tasks, review capacity, worktrees, local resources, and provider usage. - [How to evaluate an AI coding workspace on a real project](https://canopyide.dev/guides/evaluate-ai-coding-workspace-on-real-project.md): A repeatable trial for terminal, IDE, and multi-agent workspaces that follows one change from setup through running behavior, review, resume, and accepted result. - [How to give a coding agent useful visual feedback](https://canopyide.dev/guides/give-visual-feedback-to-coding-agent.md): Turn a vague 'this looks wrong' into a page, viewport, element, expected behavior, and screenshot an agent can act on. - [How to hand an AI-built app to a developer for review](https://canopyide.dev/guides/handoff-ai-built-app-to-developer.md): A concrete handoff for founders: reproduce the app, show the exact change, list verified behavior and unknowns, and ask a developer for a risk decision. - [How to inspect an open-source AI IDE before installing it](https://canopyide.dev/guides/inspect-open-source-ai-ide-before-installing.md): A repeatable Canopy release check: match installer to tag, verify the asset digest, read source and license boundaries, and test what connects to the network. - [How to reduce coding-agent token usage without losing the result](https://canopyide.dev/guides/reduce-coding-agent-token-usage.md): Scope tasks, manage growing context, choose models deliberately, and compare accepted work rather than chasing a low token count. - [How to review an AI-generated access-control PR](https://canopyide.dev/guides/review-ai-generated-access-control-pr.md): Use a permission matrix and cross-user tests to review an agent-written authentication or authorization change before merge. - [How to review an AI-generated pull request](https://canopyide.dev/guides/review-ai-generated-pull-requests.md): A review workflow for agent-written code: inspect the diff, ask for a risk map, address comments, fix CI, and merge deliberately. - [How to run multiple coding agents without losing track](https://canopyide.dev/guides/run-multiple-coding-agents.md): A two-agent workflow with task ownership, separate worktrees, service ports, attention checks, and a final review decision. - [How to set a practical budget for parallel coding agents](https://canopyide.dev/guides/budget-parallel-coding-agents.md): Decide how many agents to launch, assign each an output and stop point, then track plan usage, estimates, review load, and accepted work. - [How to set up Canopy and run your first AI coding agent](https://canopyide.dev/guides/getting-started-with-ai-coding-agents.md): Install an agent CLI, open a project in Canopy, run the app, and review your first change. Includes a downloadable practice project. - [How to stop an endless AI code review loop](https://canopyide.dev/guides/stop-endless-ai-code-review-loop.md): When each review pass finds another issue, triage findings against the same acceptance checks, verify the latest commit, and decide what blocks this PR. - [Is my local AI-built app using the production database?](https://canopyide.dev/guides/is-local-ai-built-app-using-production-database.md): Trace the browser, API, worker, and database targets before an agent tests writes or migrations in a locally running app. - [Keep building a Bolt app with local coding agents in Canopy](https://canopyide.dev/guides/bolt-to-canopy-local-coding-agent-workflow.md): Connect Bolt to GitHub, isolate an agent change, check the app's backend and run commands, merge in GitHub, and verify Bolt and the live site. - [Keep coding-agent context useful between sessions](https://canopyide.dev/guides/keep-agent-context-between-sessions.md): Make a handoff that preserves the task, decisions, branch, and evidence without carrying an entire chat transcript forever. - [MCP server configured but unavailable to your coding agent?](https://canopyide.dev/guides/mcp-server-not-available-to-coding-agent.md): Diagnose MCP scope, connection, authentication, tool selection, and cross-CLI setup with a read-only documentation server as the example. - [Measure AI coding cost per accepted change](https://canopyide.dev/guides/measure-ai-coding-cost-per-accepted-change.md): A repeatable worksheet for comparing model choices by accepted work, review time, retries, token categories, and provider charges. - [My coding agent committed an API key. What now?](https://canopyide.dev/guides/coding-agent-committed-api-key-to-github.md): A staged response to an agent-written secret leak: stop propagation, revoke the credential, restore services, inspect exposure, and decide whether Git history needs cleanup. - [My coding agent edited the wrong branch or worktree. What now?](https://canopyide.dev/guides/coding-agent-edited-wrong-branch-or-worktree.md): Identify the actual checkout, preserve every change, move the intended work safely, and verify the correct branch before restarting the agent. - [Research a codebase question without changing code](https://canopyide.dev/guides/research-codebase-question-without-changing-code.md): Choose an answer, source-backed investigation, or implementation task deliberately, then keep findings available for the next decision. - [Review a coding-agent skill before your team shares it](https://canopyide.dev/guides/review-coding-agent-skill-before-sharing.md): Inspect a borrowed SKILL.md, its scripts, tool access, and test behavior before making a repeatable workflow available to every agent. - [Review an AI-built Stripe Checkout before taking payments](https://canopyide.dev/guides/review-ai-built-stripe-checkout-before-launch.md): A founder's test-mode review of Checkout, signed webhooks, delayed payments, duplicate events, and fulfillment before launch. - [Review an AI-generated Supabase migration before deployment](https://canopyide.dev/guides/review-ai-generated-supabase-migration-before-deploy.md): Check the target project, schema diff, existing data, RLS, staging result, and actual restore option before an agent-written migration reaches production. - [Run a website, API, and background worker in one workspace](https://canopyide.dev/guides/run-local-development-servers.md): Configure project run commands once, then start, inspect, and restart your local development stack from Canopy. - [Run OpenCode with a local Ollama model in Canopy](https://canopyide.dev/guides/opencode-ollama-local-model-in-canopy.md): Set up a local model route, account for OpenCode V1 and V2 differences, verify context and tool use, then test an offline coding task in Canopy. - [Share agent work with a team without sharing model accounts](https://canopyide.dev/guides/share-ai-agent-context-without-sharing-model-accounts.md): A practical boundary map for shared project context, CLI profiles, team collaboration, model access, and billing in Canopy. - [Share project instructions across Claude Code and Codex](https://canopyide.dev/guides/share-instructions-skills-mcp-between-claude-code-and-codex.md): Place durable facts, CLI-specific instructions, reusable skills, and MCP connections where each agent can actually use them. - [Switch from Claude Code to Codex without losing the task](https://canopyide.dev/guides/switch-coding-agents-without-losing-context.md): A cross-CLI handoff when usage limits, model choice, or review needs change: preserve the goal, branch, evidence, and next action. - [The coding agent says done, but the app is still broken](https://canopyide.dev/guides/agent-says-done-but-app-is-broken.md): A recovery workflow: reproduce the failure, inspect local services and logs, point the agent at evidence, and verify the new diff. - [Trigger.dev runs stuck in dev? Check for a second agent worker](https://canopyide.dev/guides/trigger-dev-runs-queued-with-two-agent-worktrees.md): Trace a queued local task across the app, Trigger.dev project, dashboard, and worker processes when two agent worktrees are open. - [v0 not showing your local agent's GitHub changes? Check the branches](https://canopyide.dev/guides/v0-not-showing-local-github-changes.md): Trace a local Canopy agent change through GitHub, v0's base and working branches, Pull Changes, preview deployments, and production permissions. - [Vercel says the Git author must be a team member: what do I check?](https://canopyide.dev/guides/vercel-git-author-must-be-team-member.md): Diagnose a Vercel PR preview blocked before its build by checking the commit author, connected Git account, project team, and access request. - [What to do when an AI agent opens a 40-file pull request](https://canopyide.dev/guides/split-oversized-ai-generated-pull-request.md): Inventory an oversized agent diff, separate independent work from dependencies, and rebuild reviewable PRs without losing the original change. - [When a coding-agent session suddenly burns through usage](https://canopyide.dev/guides/diagnose-runaway-coding-agent-session-usage.md): Pause the session, separate context growth from repeated work and stale estimates, then restart with a smaller verified scope. - [Which coding-agent CLIs work in Canopy, and what differs?](https://canopyide.dev/guides/coding-agent-cli-support-in-canopy.md): A dated, source-backed comparison of launch, resume, session signals, shared context, and file attribution across seven CLIs. - [Which coding-agent session introduced this regression?](https://canopyide.dev/guides/trace-regression-to-coding-agent-session.md): Trace a reproducible failure through the running build, Git history, pull request, and related agent session before assigning a fix. - [Why a new agent worktree cannot build: env files and dependencies](https://canopyide.dev/guides/fix-missing-env-and-dependencies-in-agent-worktree.md): Diagnose missing .env files, local packages, Python environments, ports, and shared services before blaming the coding agent. - [Why did Claude Code forget my task after compaction?](https://canopyide.dev/guides/claude-code-forgot-task-after-compaction.md): Recover a Claude Code task after /compact by checking the actual branch, diff, tests, and lost instructions before giving the agent one verified next step. - [Why did my coding agent change the lockfile for a small fix?](https://canopyide.dev/guides/coding-agent-changed-lockfile-for-small-fix.md): Trace an unexpected package-lock or pnpm-lock diff to its command and dependency decision, then review and reproduce the PR safely. - [Why did my Trigger.dev task send two emails?](https://canopyide.dev/guides/trigger-dev-task-sent-email-twice.md): Trace duplicate email through task run IDs, retry attempts, app triggers, and provider events before replaying or changing idempotency settings. - [Why do my agent tests pass locally but fail in GitHub Actions?](https://canopyide.dev/guides/coding-agent-tests-pass-locally-but-github-actions-fails.md): Compare the exact PR commit, failing CI step, runner, install, environment, and test command before changing code or rerunning a job. - [Why does my AI-built app lose data when I refresh?](https://canopyide.dev/guides/ai-built-app-loses-data-on-refresh.md): Find whether a Save button updates only UI state, browser storage, or a real backend, then test the persistence the product actually needs. - [Why does my browser show the old app after my coding agent changed the code?](https://canopyide.dev/guides/coding-agent-changed-code-but-browser-shows-old-app.md): Trace a stale local preview through the checkout, running server, actual port, hot reload, browser cache, and data request before asking an agent to edit again. - [Why does my coding agent keep asking for permission?](https://canopyide.dev/guides/coding-agent-keeps-asking-permission.md): Diagnose repeated coding-agent approval prompts by checking the action, CLI rules, working directory, and session before changing permissions. - [Why does my coding agent show so many sent tokens?](https://canopyide.dev/guides/why-coding-agent-sent-tokens-are-so-high.md): Understand large input totals, growing conversation context, cache reads and writes, output tokens, and the checks to make before changing models. - [Why won’t my dev server start in Canopy?](https://canopyide.dev/guides/dev-server-will-not-start-in-canopy.md): Trace a failed website, API, or worker launch through its checkout, command, first error, port, dependency, and observed URL. - [Why won’t my phone open my local dev site?](https://canopyide.dev/guides/phone-cannot-open-localhost-dev-server.md): Use the computer's LAN address, check the dev server's bind host and port, then trace API calls and HTTPS-only browser features on the phone. - [Work on a Lovable app locally in Canopy without losing Git sync](https://canopyide.dev/guides/lovable-to-canopy-local-coding-agent-workflow.md): A branch, environment, preview, and publishing checklist for using local coding agents on a Lovable project connected to GitHub.