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
- Open the Source Control view with a repository that has a local clone path set.
- Browse the commit graph; the left rail lists LOCAL, REMOTE, WORKTREES, STASHES, and TAGS.
- 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
- From a PR page, choose Create Worktree — or from the Workspace view, Create Branch & Worktree for a new branch.
- Confirm the reference, branch name, and directory; Kensa fetches, creates the worktree, and runs your configured setup steps.
- 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-gitor 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.