You can deploy without opening the dashboard. An API token lets Claude, the flynode command or a CI job create an app from your Git repository, wait for the build and check that it is live.
What a token can and cannot do
- It can create and redeploy apps, read status and logs, send variables, add a database and a domain, and roll back.
- It can never read the value of a variable or a database password, change billing, or manage your account or team.
- Deleting an app needs a token with the Full template, and the app name typed in the call.
Create a token
- Open Settings and find API tokens.
- Give it a name, choose Deploy (or Full, or Read only), optionally pick one Workspace and an expiry.
- Copy the token. It is shown once. Revoke it from the same list at any time.
Use it from the command line
Run flynode login. Your browser opens, you approve the request and the CLI stores a token for 90 days. Then, inside a Git project that is pushed to GitHub:
flynode deploy
flynode logs -f
flynode env push .env.production
flynode status
flynode deploy builds the repository you pushed, so commit and push first. It writes a .flynode.json file; commit it so the next deploy goes to the same app.
Use it with Claude Code
Add the FlyNode MCP server with your token, then ask Claude to deploy the project in your folder. Claude calls the same endpoints: it ships the app, watches the build, reads the log if it fails, fixes the project and tries again (at most three times), and tells you the live address.
claude mcp add flynode --env FLYNODE_TOKEN=fn_live_... -- npx -y @flynode/mcp
Your .env file is sent from disk by a dedicated tool, so its values never appear in the conversation.
Use it in CI
Store the token as a secret named FLYNODE_TOKEN and run flynode deploy after your tests pass.
Good to know
- FlyNode builds from a Git repository. Private repositories need a deploy key, see Deploy a Private Repository.
- The app listens on the port in the
PORTvariable and answers on/. - Databases you ask for are created and connected for you.
- Full WordPress site deploys from a local folder are not available yet.
Still stuck?
Open a support ticket from your dashboard and include the container name.