Skills
Skill 34 of 38
Run an Encore.ts or Encore.go app locally.
2 minutes · 418 words · 6 sections
Install
npx skills add encoredev/skills --skill encore-runnpx skills add encoredev/skills/plugin marketplace add encoredev/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Run these commands from the app’s root directory (the one with encore.app) or any directory below it. Pick one:
encore check (step 1). It always exits.encore run in the background (step 2).Never run encore run in the foreground. It doesn’t exit, so the command blocks until it times out.
encore checkencore check # start the app and stop it
encore check 'curl /hello/world' # start it, call an endpoint, stop itFor several requests or JSON bodies, pass the requests on stdin, one per line:
encore check <<'EOF'
curl /hello/world
curl /url -X POST -H 'Content-Type: application/json' -d '{"url": "https://encore.dev"}'
curl /admin --no-fail -i
EOF=== [i/N] curl ... === and --- exit: N ---. stderr has build errors and app logs. Fix the problem and run it again.-i to see the status and headers, and --no-fail to a request that should return an error status.Start it, with its output in a log file. If your tool has its own way to run background commands, use that instead.
encore run --browser=never > /tmp/encore-run.log 2>&1 &
echo $! > /tmp/encore-run.pidWait until the log has Encore development server running!. If the process exits first, the log has the error (see Errors).
Call the API at http://localhost:4000. The local development dashboard is at http://localhost:9400, with an API explorer and a trace of every request.
After each code change, the app rebuilds and restarts. Check the log for build errors.
When you’re done, stop it:
kill "$(cat /tmp/encore-run.pid)"Flags: --port=<n> changes the API port (default 4000). --listen=0.0.0.0:4000 accepts connections from other machines. --watch=false turns off rebuilding on changes.
no encore.app found in directory (or any of the parent directories): cd into the app. If there’s no app yet, see encore-create-app.The docker daemon is not running. Start it first.: start Docker (macOS: open -a Docker), wait until docker info succeeds, and run again.docker not found: is it installed and in your PATH?: the app has a SQL database, which needs Docker. See encore-install.Failed to run on 127.0.0.1:4000 - port is already in use: an earlier encore run usually holds the port. Stop it, or use the free port from the next line of output: Note: port <n> is available; specify --port=<n> to use it.secrets not defined: <names>: a warning. The app runs with those secrets empty. Set local values with encore secret set --type local <name>, or in a gitignored .secrets.local.cue file for an app that isn’t on Encore Cloud (see encore-secret or encore-go-secret).encore run rebuilds on save.encore check to confirm a change works. It can’t leave a process running.encore-mcp.encore-testing or encore-go-testing.Run an Encore.ts or Encore.go app locally. Covers `encore check` to start the app, call endpoints, and stop it in one command, running `encore run` in the background so it doesn't block the shell, the local development dashboard, and fixing startup errors.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 26 October 2026.SKILL.md, not by matching a directory convention. One layout observed: encore/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Encore, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./encoredev/skills.md, and each skill at its own .md URL.