Skip to content

Bob

Pack your Bob workspace or bring work from another agent into Bob. Install Desk and the target agent before moving.

Stop Bob and other project writers, then run:

Terminal window
cd /path/to/project
desk pack --from=bob
desk ls

To select a particular source conversation, add --session=SESSION_ID. Desk records the source directory in the pack metadata. Your source files stay in place.

Desk supports Bob 2.0.2 and its schema-11 task database. Capture includes project task history from ~/.bob/db/bob.db, supported settings, AGENTS.md, theme, skills, rules, commands, and agents. Desk handles SQLite internally; packing and preparing Bob tasks need no external SQLite or Node.js helper. Install Bob separately to launch it.

For example, start with a Claude project. Stop its writers and run:

Terminal window
cd /path/to/claude-project
desk pack --from=claude
desk move --to=bob

Without an ID, Desk uses the newest saved pack for that directory. To select a pack explicitly from any directory, use desk move PACK_ID --to=bob.

Desk 0.2.1 and newer keep Bob in the existing project directory when the current directory (or --project) matches the pack’s canonical source path. Current files, including changes made after packing, are preserved. Bob can edit those files. When an explicit pack is moved from a different directory, Desk uses an extracted workspace instead.

Desk prints the working directory and uses your normal HOME and existing login. Extracted user and assistant text is restored as native messages in the new Bob task, so the conversation is visible on resume. Tool calls, reasoning and approvals remain archived. The task is added to your local Bob database without replacing existing tasks. Native settings are archived for review; Desk does not automatically convert another agent’s permissions, hooks, or authentication.

After exiting Bob, return to the printed Workspace using your normal shell. Desk uses your existing HOME, configuration and login.

Terminal window
cd /path/printed/as/Workspace
bob chat --resume

bob chat --resume opens the task picker. Select the moved task; its initial title is Desk context handoff. To resume a known task directly, use bob chat --resume TASK_ID from that directory. This is a native Bob task ID, separate from a Desk pack or agent ID. These options are available in Bob 2.0.2 (bob chat --help).

Use the same executable as the original move if you supplied --binary. The moved agent must have saved a session to resume. Direct native launches do not update the earlier Desk record in desk ps.

Once the resumed agent has stopped, run these commands from your normal shell:

Terminal window
cd /path/printed/as/Workspace
desk pack --from=bob
desk move --to=claude

Desk recognizes the moved workspace and captures its local native session, including earlier handoff context. Moving uses the new pack for this directory. Choose a different target from the source agent; same-agent moves are currently unsupported.

See the harness support matrix for supported directions.