# Local development — Canopy > Run the website, API, workers, and previews around an agent's work. A code change is difficult to judge if the app is not running. Save each component's run command, watch its logs and ports, and open the result beside the agent session. A background worker such as Trigger.dev can run as a configured command. Canopy manages those local processes; it does not replace your project's runtime or hosting. Canopy runs installed coding CLIs; their providers control model access, limits, and billing. Check the installed app release for version-specific features. Each link opens the article's clean Markdown version. ## Articles - [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. - [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 Canopy work offline with a local coding agent?](https://canopyide.dev/use-cases/canopy-offline-local-coding-agent-workflow.md): Test local files, Git, services, Preview, search, and a preinstalled CLI against the separate requirement for a local model endpoint. - [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. - [Canopy Remote, Claude Code, Copilot CLI, or SSH from your phone?](https://canopyide.dev/use-cases/canopy-remote-vs-claude-code-copilot-ssh.md): Choose a remote coding-agent workflow by host state, CLI coverage, project evidence, access rules, and what you can actually verify on a phone. - [Canopy vs Replit Agent for building an app](https://canopyide.dev/use-cases/canopy-vs-replit-agent-for-building-apps.md): Compare a hosted AI app builder with a local multi-CLI workspace across first setup, parallel tasks, preview, GitHub, deployment, team access, and usage. - [Canopy vs Superset for parallel coding agents](https://canopyide.dev/use-cases/canopy-vs-superset-for-parallel-coding-agents.md): Compare two local agent workspaces across worktrees, persistent processes, app runs, browser preview, PR review, Remote, and license terms. - [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. - [Find the old agent session, then resume the right project](https://canopyide.dev/use-cases/find-old-agent-session-and-resume-project.md): Recover a past decision from search, verify the branch and PR, restart local services, and resume only the session that still helps. - [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 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 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 start my website, API, and worker with one click?](https://canopyide.dev/use-cases/one-click-local-dev-stack.md): Run a downloadable three-process project: save its commands, watch a worker change the API count, inspect the preview, and verify the agent's edit. - [How do I stop two agent worktrees from using the same port?](https://canopyide.dev/use-cases/avoid-dev-server-port-collisions-with-worktrees.md): Keep each branch's local preview distinct, identify the process behind a URL, and compare the right running app with the right diff. - [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 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 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 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. - [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. - [Resume a local coding agent from your phone](https://canopyide.dev/use-cases/resume-coding-agent-from-phone.md): Use Canopy Remote to inspect a running project, reconnect after a phone disconnect, and steer the right agent without repeating a task. - [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. - [Terminal, tmux, or Canopy for coding agents?](https://canopyide.dev/use-cases/terminal-vs-canopy-for-coding-agents.md): Compare the actual jobs: running a CLI, keeping sessions alive, isolating edits, starting services, and reviewing agent work. - [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 happens to a coding agent when you close Canopy?](https://canopyide.dev/use-cases/what-happens-to-agents-when-canopy-closes.md): Distinguish a closed tab, hidden project, hibernation, app exit, and CLI conversation resume before relying on a session overnight. - [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 an AI coding workspace still needs a real terminal](https://canopyide.dev/blog/why-coding-agent-clis-need-real-terminals.md): What a PTY preserves for interactive coding CLIs, what Canopy adds around it, and a quick test for comparing agent workspaces. - [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 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.