Skip to content
Fredrin
Documentation

Workers

Workers

A Worker is the AI agent session bound to a ticket. One ticket, one Worker. Throughput comes from running many at once, not from waiting on a faster agent.

One ticket, one Worker

This is the rule the whole product is built on, and it is worth saying plainly: Fredrin does not fan one ticket out across several agents.

A ticket gets exactly one agent session, in one branch, in one worktree. When that session ends, the ticket is done or it is blocked.

Parallelism happens between tickets, not inside them. Ten tickets means ten Workers, and each one is a coherent conversation with a single thread of context, which is exactly what makes its output reviewable.

What a Worker inherits

When a Worker starts it gets:

  • Its worktree - an isolated checkout of your repository on its own branch.
  • The ticket - the description, the plan, the acceptance checks, any attachments.
  • Project context - the relevant slice of your repository's own documented knowledge, read from files, before it writes a line.
  • Your tools - the coding CLI you already use, signed in as you.

It does not get a summary of the last twelve chats, because there is no such thing. Context comes from files in the repository, which is why it compounds instead of evaporating.

The session

A Worker's session is a real coding-CLI session, the same one you would get in your own terminal. That has consequences worth knowing:

It is resumable. Leave, come back, and the transcript is still there. Sending a ticket back from Review resumes the same session rather than starting a new one.

It can be interrupted. Talk to a running Worker and it adapts mid-run.

It ends deterministically. Fredrin knows a run finished because the CLI's own session lifecycle said so, not because a model announced it was done.

Runtime, model and effort

Each ticket resolves to one runtime, one model, and where the CLI supports it, one effort level. You can set them per ticket before the first run.

Once a session has begun those choices lock, because changing them would be a model swap in the middle of a conversation. The picker stays visible so you can see what a ticket is running on; it just cannot be changed. To genuinely start over, use Reset build, which clears the ticket's jobs and conversation and returns it to the backlog.

See choosing your agent.

Where Workers run

By default, on your machine. You can also pair a machine of your own, anywhere, and route a ticket's Worker to it: see remote agents.

The rule stays the same wherever it runs: one ticket, one Worker, one worktree.

Next steps