Before you begin
- An account. The first time you sign in, Recursion creates your tenant and its Default organization, and makes you the primary owner, so you can do everything on this page. See Organizations and roles.
- For the code path: Node.js with
@labelbox/recursion-sdk, orcurlandjq. See Install the SDK. From Python, send the cURL requests with your HTTP client; see Python and other languages.
1. Sign in
- Open the Recursion console.
- Tick the box to agree to the Terms of Service, Privacy Policy, and Release Agreement.
- Click Continue with Google, and sign in with a verified email address.
2. Create an API key
Skip this step if you’ll use only the console.- In the sidebar, click API keys, then Create key.
- Enter
quickstartin Name. - Choose 7 days in Expires.
- In Scope, choose Default instead of Tenant. This makes an organization-scoped key, which needs no extra headers.
- Click Create key, then copy the key. It starts with
rma_and is shown only once.
rl client from Client setup. Keep the key out of source files and chat messages. See API keys.
3. Create an environment
An environment is where the agent’s sandbox runs. This task needs no extra software and no internet access.- Console
- TypeScript
- cURL
- In the sidebar, click Environments, then Create environment.
- Enter
Quickstart sandboxin Name. - Choose Agent runner in Runtime.
- Leave Internet access set to No access, and leave the setup script empty.
- Click Create environment.
4. Create an agent
An agent is the model and instructions. Use amodelId from listModels; anthropic/claude-sonnet-5 is an example.
- Console
- TypeScript
- cURL
- In the sidebar, click Agents, then Create agent.
- Click the Blank card.
-
Enter
Update summarizerin Name. - Choose a model in Model.
-
Enter this System prompt:
- Click Create agent.
5. Start a graded session
The task and the facts to summarize go straight into the outcome, so there’s nothing to upload. The rubric tells the grader what “done” means.- Console
- TypeScript
- cURL
- Open Update summarizer under Agents, then click Start session.
- Choose Quickstart sandbox in Environment.
- Under Task, tick Grade this session against a rubric.
-
Replace the text in Rubric with:
-
Enter this in Opening message:
- Click Launch session. The console opens the session while the sandbox starts.
202 Accepted right away. The agent works in the background.
max_iterations. The console sends no cap, so the agent revises until the grader is satisfied.
6. Read the verdict
The work is done when the newest outcome’sstatus is terminal. It passed when terminal_result is satisfied. This usually takes a minute or two.
- Console
- TypeScript
- cURL
- Watch the transcript: the agent’s two bullet points appear as it works.
- Click Outcome above the transcript.
- Confirm the result is satisfied and that each criterion shows pass with the grader’s rationale.
iteration 0.
What happened
- The session froze the agent version and the environment, so editing either now won’t change this run.
- The agent worked in its own sandbox and answered in the transcript. Every step was recorded as an event.
- After the agent’s turn, the grader checked each rubric criterion. A failing criterion would have sent the grader’s rationale back to the agent for another attempt.
satisfiedmeans no criterion failed in the final grading pass. The session’sexecution_stateis nowcompleted, withstop_reason: "outcome_satisfied".
sendSessionEvents. The session resumes in the same sandbox if it still exists.
What can go wrong
See Troubleshooting and Errors for more, and Limits for every limit.
Next steps
How it works
See how sessions, credentials, and grading fit together.
Define outcomes
Write rubrics that grade reliably, and read every grading pass.
Give your agent tools
Add web search, MCP servers, and skills.
Store credentials
Give agents tokens and secrets without putting them in a prompt.