Start on Celesto Free
Create an account without a credit card and run Pi tools on an included cloud computer.
Open the Pi package
Review the package details and install
@celestoai/pi from the official Pi package catalog.Before you start
You need:- Node.js 22.19 or newer.
- Pi installed and configured with a model provider.
- A Celesto account and API key. Create the key at celesto.ai under Settings > Security.
- A local project directory you want Pi to edit.
This guide keeps Pi local and sends its coding tools to Celesto. If you want to run the entire Pi process inside a local SmolVM instead, see Coding agents in SmolVM.
Run Pi remotely
Install the Celesto extension
Install the package once through Pi:
Run
pi --help and confirm that --celesto appears under extension flags.Sign in to Celesto
Install the Celesto CLI and save your API key locally:You can instead export the key or add it to the project’s local Add
Run
celesto auth status and confirm that an API key is saved..env file:.env
.env to .gitignore. The bundled Celesto TypeScript SDK checks the shell environment first, then .env, then credentials saved by celesto auth login.Start Pi from your project
Change to the project directory, then run:The extension creates a Celesto computer, copies the project to
/workspace, and routes Pi’s read, write, edit, and bash tools there.Pi reports the computer name and shows
/workspace as the active workspace.Check the remote workspace
Run this inside Pi:The result shows the computer name, status, cleanup behavior, and current synchronization revision.
Ask Pi to change the project
Give Pi a normal coding task. For example:Pi reads files, edits code, and runs tests inside the Celesto computer. Press
Esc to stop a long-running tool command.What runs locally and remotely
| Your machine | Celesto computer |
|---|---|
| Pi terminal interface | Project copy in /workspace |
| Conversation and session history | read, write, edit, and bash operations |
| Model-provider credentials | Shell commands and test processes |
Celesto API key from your shell, .env, or CLI login | Files created by Pi during the session |
/workspace on the Celesto computer as the active project while the session runs. Local files stay unchanged until synchronization.
Synchronize local and remote changes
The extension records a common revision after each successful synchronization. On the next/celesto sync, it compares both copies with that revision.
| Change | Result |
|---|---|
| Only the Celesto file changed | Pull the remote file to your local project |
| Only the local file changed | Push the local file to /workspace |
| Both copies are identical | Leave the file unchanged |
| Both copies changed differently | Preserve a conflict instead of overwriting either copy |
| One copy deleted an unchanged file | Apply the deletion to the other copy |
.remote-deleted marker. Resolve the local file, remove the conflict copy when you no longer need it, then run /celesto sync again.
A failed or conflicted final synchronization keeps an extension-created computer. Reopen the Pi session and run
/celesto sync to recover the work.Reuse an existing Celesto computer
List your computers:/workspace, that remote workspace becomes the active copy. Run /celesto sync before editing locally.
Control computer cleanup
The extension normally synchronizes and deletes a computer it created when Pi exits. Keep that computer for another session by running:celesto computer delete command you can use later. Computers selected with --celesto-computer are always caller-owned and are never deleted by the extension.
Files excluded from the cloud workspace
The extension reads.gitignore, then applies project-specific .celestoignore rules. It also excludes common secrets and large generated directories by default, including:
.envfiles and common credential files.- Pi, cloud-provider, SSH, and package-manager credentials.
node_modules, build output, coverage output, and.next.- Symbolic links.
- Individual files larger than 25 MB.
.celesto-conflictsand the synchronization metadata file.
.git directory remains available so Pi can inspect branches, status, and diffs.
Add extra exclusions to .celestoignore:
.celestoignore
.celestoignore
Security boundary
The extension is designed so the model connection stays local:- Pi calls your model provider from your machine.
- Model credentials are not forwarded as shell environment variables.
- The Celesto API key stays in the local Pi process and is not forwarded to the remote computer.
- Local
.envfiles remain excluded from workspace upload by default. - Celesto receives the project files that pass the exclusion rules.
- Tool paths stay inside
/workspace. - Shell commands can use the rest of the isolated Celesto computer.
- Remote command output streams back to the local Pi interface.
.gitignore and .celestoignore before the first session. Files intentionally included in the project can be copied to Celesto even when they contain sensitive application data.
Pi commands
| Command | Outcome |
|---|---|
/celesto status | Show the active computer, workspace, cleanup policy, and revision |
/celesto sync | Reconcile the local project with /workspace |
/celesto keep | Keep an extension-created computer after Pi exits |
!<command> | Run a shell command in the Celesto computer |
Troubleshoot setup
No Celesto credentials were found
No Celesto credentials were found
Install the Celesto CLI and sign in, then restart Pi:Alternatively, export
CELESTO_API_KEY in the same shell or add it to the project’s local .env file.Pi does not recognize --celesto
Pi does not recognize --celesto
Confirm Node.js and Pi meet the requirements, then reinstall the extension:Node.js must be version 22.19 or newer.
The free plan has no available computer slot
The free plan has no available computer slot
List existing computers and reuse one:Replace
curie with a name from the list. Delete an unused computer when you no longer need it:Synchronization reports conflicts
Synchronization reports conflicts
Open
.celesto-conflicts/<revision>/ in your local project. Compare each .remote file with the local path, keep the intended content, and run /celesto sync again.A command keeps running
A command keeps running
Press
Esc in Pi. The extension cancels the output stream and terminates the remote process group. Run /celesto status to confirm the computer remains connected.Final synchronization failed
Final synchronization failed
The extension keeps the computer instead of deleting it. Reopen the same Pi session and run:
Next steps
Manage Celesto computers
Learn about templates, resources, ports, command execution, and lifecycle controls.
Authenticate the SDK
Learn where to create API keys and how the CLI stores credentials.
Compare plans
Review free-plan limits and paid capacity for longer or parallel sessions.
View the extension source
Review the implementation, tests, and package README.
