Skip to contentSaltar al contenido
Kensa documentation

Source Control and worktrees

Browse commits and branches in Source Control, run git operations, and isolate branches in git worktrees.

Source Control is Kensa's built-in git client for a repository's local clone. Worktrees give a branch or PR its own isolated working directory, so you can open reviewed code in your editor without touching your main checkout.

Source Control quick path

  1. Open the Source Control view with a repository that has a local clone path set.
  2. Browse the commit graph; the left rail lists LOCAL, REMOTE, WORKTREES, STASHES, and TAGS.
  3. Use the toolbar for common operations — Pull, Push, Branch, Stash, Pop, Changes, Terminal — or open the command palette from the Actions button.

Source Control performs real git operations from the UI: checkout, branch create/rename/delete, pull (fast-forward or rebase), push and force-push-with-lease, stash apply/pop/drop, merge, rebase, cherry-pick, revert, reset, and tag management. The Changes view shows uncommitted work and can discard a hunk; creating commits stays in your editor or terminal.

Worktree quick path

  1. From a PR page, choose Create Worktree — or from the Workspace view, Create Branch & Worktree for a new branch.
  2. Confirm the reference, branch name, and directory; Kensa fetches, creates the worktree, and runs your configured setup steps.
  3. Open it with the editor button (Cursor, VS Code, and other detected editors) or launch a terminal — optionally starting your agent CLI inside.

Expected result: an isolated checkout of the branch, created next to your clone at <clone>.worktrees/<branch> unless you set a different base path in Settings → Workspace & Worktrees. Remove deletes the worktree directory — including uncommitted changes inside it — after a confirmation; your main clone is never removed.

If something goes wrong

  • A worktree for the branch already exists — open it from the list, or pick a different branch name.
  • Pull blocked — stash or commit your uncommitted changes first, as the message says; a diverged remote needs a merge or rebase.
  • Push fails on credentials — run gh auth setup-git or configure a credential helper, as the failure toast suggests.
  • Checkout blocked by a dirty tree — the Stash & switch dialog stashes and switches in one step.

Next step

Back to the documentation home.