Contents
Quickstart
Deploy an agent from one file, chat with it from the terminal, and watch it in the console. You need Node.js 22 or later and an E2B API key for the agent's sandbox (get one at e2b.dev). You don't need a model key: without one, PAREL runs the model for you.
# 1. Create a workspace
Open the console and sign up or sign in. The first time, you create a workspace or pick one you were invited to. Agents, sessions, keys, and billing belong to the workspace; a new workspace starts on the Free plan.
# 2. Install the CLI
The CLI needs Node.js 22 or later.
npm install -g @parel/cli parel --version
# 3. Log in
In the console, open Settings → API keys and create a key. The default access, Write, is enough for this guide. Then run:
parel login # API key: <paste your pk_... key> # Logged in. https://api.parel.sh pk_3f9c...7a1b
The key is saved in ~/.parel/config.json. In CI, set PAREL_API_KEY instead.
# 4. Pick the model
The example below uses Claude (provider: anthropic) without a key, so PAREL runs it for you: each call is billed to your workspace at the model provider's price, with no markup, and the Free plan includes $1 of it a month. To use your own Anthropic key instead, add it under Settings → Model providers; the same agent.yaml then runs on your key.
The sandbox key works differently: agent.yaml refers to it as ${E2B_API_KEY}. Export it in your shell before you deploy, and parel deploy uploads it, encrypted, with the agent; a Write key is enough for that. You can also save it once in Settings → Secrets.
# The sandbox key, referenced as ${E2B_API_KEY} in agent.yaml below:
export E2B_API_KEY=e2b_...# 5. Create agent.yaml
This is the only file you write. It gives the agent a name, a model, a system prompt, an E2B sandbox (a shell the agent can use), rolling-summary memory, a $10 budget per session, and a limit of 100 steps per turn. Secret values never go in this file; write only ${NAME} references.
version: "1"
agent:
name: my-first-agent
model:
provider: anthropic
model: claude-sonnet-5-5
plugins:
- system-static:
prompt: "You are a helpful research assistant."
- sandbox-e2b:
apiKey: ${E2B_API_KEY}
- memory-rolling-summary
- budget-cap:
max_usd: 10
runtime:
maxSteps: 100# 6. Deploy
parel capabilities doctor checks the model and that every secret reference can be found. parel deploy uploads the file as version v1 and makes it live. Deploying again with the same agent.name adds v2, v3, and so on.
parel capabilities doctor agent.yaml # Ready: 5 capabilities checked. # Secret references # ✓ E2B_API_KEY local env (uploads on deploy) parel deploy agent.yaml # Secrets # ✓ E2B_API_KEY from local env → agent-level (e2b_***) # Deployed: my-first-agent v1 agt_a1B2c3D4e5F6
# 7. Chat
Start a session with the agent's name (its id works too). /help lists the agent's slash commands. /quit leaves the chat but the session stays; parel chat --session picks it up again.
parel chat --agent my-first-agent
PAREL Chat
session: ssn_x1Y2z3A4b5C6
/quit to exit, /messages for log, /help for the agent's commands
$ How many entries are in /etc?
▸ Let me check in the sandbox.
[tool] bash({"command":"ls /etc | wc -l"})
[result] 74
▸ There are 74 entries in /etc.
$ /help
[/help] Available commands:
/help — List the commands available in this session
/compact <focus> — Fold older history into the running summary now
$ /quit# 8. Watch it in the console
Open Sessions in the console and pick your session. Conversation shows the chat; Trace shows each turn and step with its time, tokens, and estimated model cost; Events lists the raw events. You can keep chatting from there too.