Skip to content

Quest Types

Every quest has a type that determines how it interacts with your codebase. The type controls whether the quest gets its own git branch, where the agent runs, and what cleanup happens when you’re done.

Worktree quests are for writing code. When activated, Sidequest creates an isolated git worktree at ~/.sidequest/worktrees/<quest-id>/ and checks out a new branch. The agent runs inside this worktree, so changes are completely isolated from your main working directory and from other quests.

Use Worktree quests when you want to:

  • Implement a feature or fix a bug
  • Refactor code
  • Create a pull request
  • Work on a GitHub issue

You pick a base branch — the branch your new worktree is forked from. It defaults to the currently checked-out branch but can be any local branch; the list marks the current and default branches. The base branch is used when computing diff stats and is set as the upstream so gh pr create targets the right branch.

The quest starts on a temporary branch named quest/<first 8 characters of the quest id>. In the background Sidequest asks Claude for a descriptive branch name derived from your prompt (e.g. feat/orders-rate-limit) and renames the branch once it has one.

Check Start in plan mode at creation time and the agent starts in its planning mode — it proposes changes without applying them until you approve. For Claude Code this passes --permission-mode plan; Gemini, Codex and Copilot have equivalent read-only modes.

If the project has a Setup Command (Project Settings), it runs inside the new worktree before the agent starts — useful for copying .env files or installing dependencies. It only runs when a worktree is newly created, not on resume.

The agent is interrupted and the session ends, but the worktree and branch are kept until Quest Retention expires (Settings > Storage, default 2 hours) so the quest can be restored. After that the worktree directory is removed. The branch and its commits stay in your repository; delete them yourself if you no longer want them.

Current Branch quests run directly in the project’s checked-out working directory. No branch is created, no worktree is set up. The agent reads and explores the codebase in place — and can edit it, so treat it like working in your own checkout.

Use Current Branch quests when you want to:

  • Investigate how a system works
  • Ask questions about architecture or dependencies
  • Audit code for patterns, bugs or security issues
  • Make a quick change on the branch you already have checked out

Because multiple Current Branch quests share the same directory, Sidequest matches each quest to its own conversation by session id, so two of them on the same project won’t get mixed up.

The session is terminated. No branches or worktrees need cleanup since none were created.

Review quests are for reviewing pull requests. When you create one, you select an open PR from your repository; Sidequest fetches the PR’s head branch into a worktree and sends the agent your review prompt.

  • The prompt defaults to /review <pr-number>. Set a per-project Review Template in Project Settings to change it ({pr_number} is substituted), or edit the Review Prompt field when creating the quest.
  • If the PR branch is already checked out somewhere (for example in your own worktree), Sidequest checks the quest out detached at the fetched commit so your checkout is untouched.
  • You can also start a Review quest from a project’s right-click menu: Review Pull Request….

Use Review quests when you want to:

  • Get an AI-assisted code review of an open pull request
  • Understand what a PR changes before merging

The Home entry above the workspace tree is a built-in project for your home directory. Because it is a plain directory rather than a repository, only Current Branch quests can run there. They are handy for questions that span many repos (“which of my projects still pin Node 18?”) or for scratch work.

Claude Code’s auto permission mode escalates often outside a repository. If that gets in the way, enable Settings > Agent > Bypass Permissions in Home to launch Home quests with --dangerously-skip-permissions. This grants the agent unrestricted access to your whole home directory, so leave it off unless you need it.

WorktreeCurrent BranchReview
Creates a git worktreeYesNoYes
Creates a branchYesNoNo (checks out the PR branch)
Runs in~/.sidequest/worktrees/<id>Project directory~/.sidequest/worktrees/<id>
Available onGit reposGit repos, directories, HomeGitHub repos
Best forFeatures, fixes, refactorsExploration, questionsPR reviews

If you’re unsure, start with Worktree — it’s the default for repositories and the safest option since your work is always isolated.

Any quest can carry a Token budget. Set it in the Create Quest or Edit Quest dialog; leave it blank for unlimited. Sidequest checks the session’s total token use at each turn boundary (when the agent stops to wait for input) and, once the budget is reached, stops the session and shows a Token budget reached toast. The quest stays in Active so you can inspect it, raise the budget, and Restart Session.

The Live Stats panel shows a Token budget bar for the active quest that turns amber at 80% and red when exceeded.

graph LR
A[Backlog] -->|Activate| B[Active]
B -->|Complete| C[Recently Completed]
C -->|Retention expires| D[Pruned]
C -->|Restore| B
B -->|Move to backlog| A

Backlog — The quest is defined but not running. No session, no worktree yet. Click a backlog quest to edit its prompt, type, supervisor, model, effort or token budget.

Active — The quest has a live session. You can rename an active quest by double-clicking its title; Edit lets you change model and effort, which apply the next time the session is (re)started.

Recently Completed — When you complete a quest it moves here (collapsed by default). The session is interrupted, but the quest remains visible for the retention period so you can Restore it or Delete it permanently. Completed quests are automatically pruned after the retention period expires. This section is hidden when retention is disabled.

Drag and drop quests between the Active and Backlog sections. Dropping a backlog quest onto the Active section header (or onto an active quest) promotes it and launches its session. Dropping an active quest onto the Backlog section pauses it by killing the session; the worktree is preserved.

You can also reorder quests within a section by dragging them. The order of the backlog matters when a supervisor pulls from it.

Right-click a quest for its full menu: copy prompt, open in editor, file manager or terminal, git log, open remote, move, add to supervisor, make a journal entry, skip auto-journal, handoff, restart session, complete.