A terminal UI for GitHub that lets you browse, review and act on PRs and issues without leaving the command line.
baoyudu/perch
A terminal picker that jumps you back into recent Claude Code or Codex projects, optionally relaunching the agent or resuming the last session.
- Stars
- 89
- Forks
- 0
- Open issues
- 0
- Last commit
- 2 months ago
What is it?
perch is a Go terminal tool for getting back into the project you were last working on with Claude Code or Codex. It reads the session history both agents already keep on disk, so it needs no setup: every project you have opened an agent in appears in a fuzzy-searchable list as soon as it is installed.
From the picker, a single keystroke can change directory only, launch claude or codex, or resume the last conversation. Each project row shows its last-used agent, relative time, git branch and dirty-file count, and a preview pane shows the tail of the last conversation. Projects can be pinned to the top, and per-project defaults and extra arguments are set in an optional TOML config.
Because a child process cannot change its parent shell's directory, perch renders its UI on the terminal and prints the chosen path and command for a small shell function from `perch init` to run. Setup is available for zsh, bash and fish, and a Codex desktop-app mode hands projects to the app over a codex:// link.
Key features
- 01Reads existing Claude Code and Codex session history with no configuration.
- 02Fuzzy-filters projects by name and path.
- 03Lets you cd, launch claude or codex, or resume the last session with one keystroke.
- 04Shows last-used agent, git branch and dirty-file count for each project.
- 05Previews the tail of the last conversation.
- 06Pins projects and sets per-project default actions and arguments in TOML.
Use cases
- Switching between many repositories where you run coding agents.
- Picking up yesterday's Claude Code or Codex conversation after opening a new terminal.
- Launching an agent in a specific project with custom flags from one keystroke.
Quick start
- 1
Install perch via Homebrew (macOS)
brew install --cask baoyudu/tap/perch - 2
Or install from source with Go
go install github.com/baoyudu/perch/cmd/perch@latest - 3
Add the shell integration line to your shell rc file (zsh shown)
eval "$(perch init zsh)" - 4
Open a new terminal and type p to start the picker
Things to know
- Depends on Claude Code and Codex session history stored on disk to list projects.
- Some features such as the Nerd Font icons need a patched terminal font, though plain mode is available.
In collections
Topics
FAQ
- What is perch?
- A terminal picker that jumps you back into recent Claude Code or Codex projects, optionally relaunching the agent or resuming the last session. perch is a Go terminal tool for getting back into the project you were last working on with Claude Code or Codex. It reads the session history both agents already keep on disk, so it needs no setup: every project you have opened an agent in appears in a fuzzy-searchable list as soon as it is installed.
- Is perch free to use? What license does it have?
- perch is open source under the MIT license. Check the license terms before using it in commercial products.
- Is perch still maintained?
- Updated within 6 months. The last commit to perch was on Sep 14, 2026.
- What can I use perch for?
- Switching between many repositories where you run coding agents. Picking up yesterday's Claude Code or Codex conversation after opening a new terminal. Launching an agent in a specific project with custom flags from one keystroke.
- How do I install perch?
- Install perch via Homebrew (macOS): brew install --cask baoyudu/tap/perch Or install from source with Go: go install github.com/baoyudu/perch/cmd/perch@latest Add the shell integration line to your shell rc file (zsh shown): eval "$(perch init zsh)" Open a new terminal and type p to start the picker
- Where can I get perch?
- The source code and installation instructions are on GitHub: https://github.com/baoyudu/perch
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A modern terminal file manager written in Go, built with Bubble Tea, for browsing and managing files from the command line.
A tmux-based workspace in Rust for monitoring and jumping between multiple terminal AI agents like Codex, Claude Code, and Gemini.
A terminal email client built with Go and Bubble Tea, supporting multiple accounts, rich content and a plugin system.
A terminal multiplexer and window manager in Go with tiling panes, workspaces, persistent sessions, and an Inbox for coding agents running in each pane.
A CLI app for running and switching between multiple AI coding agent sessions across Git worktrees and projects, without tmux.