Getting Started with Marmota
A tour for your first session

Getting started with Marmota

Marmota is a terminal file manager that works beside your Claude Code and Codex sessions; you start it with y. You browse files on top; at the foot you see every session that runs, what each one is doing, and you can write to any of them without leaving your files.

You need a Mac, WezTerm (y opens sessions in its panes), and Claude Code, the Codex CLI, or both.

1

Install it and start it

# the first time, build.sh installs everything: Go, WezTerm, a Nerd Font, the y command
git clone https://github.com/junjieliang672/marmota.git
cd marmota
./build.sh

# then, in a new terminal (WezTerm)
y

build.sh builds the program into bin/y, adds a short block to your shell config that puts it on your PATH, and gives WezTerm its look: the pane you type in stays bright and a blue edge marks it. Run ./build.sh again whenever you pull new changes; it keeps your settings and adds any new ones.

2

What is on the screen

ABCDEF
A

File panels. Your folders. tab moves to the next panel, n opens another. A ✳ marks a file a running session changed.

B

Preview. The file under the cursor; while you are in the Sessions box, the selected session's conversation.

C

Sessions box. Every running session, cc for Claude Code and co for Codex. ! goes in and out.

D

Details. The file, your Mac's cpu, memory and disk, and file operations under way. M focuses it.

E

Ask box. Where you write to a session, or start a new one. K opens it.

F

Status line. The keys you can press now, and how many sessions are working, need you or have unread replies. F hides the boxes at the foot.

3

Pick how you want to work

Marmota works as a plain file manager, or with coding agents beside it. Start with the way you work today; each one builds on the one before.

Workflow 1

Just browse files

No agents needed. Marmota is a file manager first: two or more panels, a preview of what is under the cursor, and the boxes at the foot, which F hides.

Two panels: trip notes on the left, the code of a tide-table tool on the right. The preview shows predict.go, the file under the cursor.

Jump to a project and open a file

  1. z, type part of the folder's name, enter. (ctrl+n opens it in a new panel instead.)
  2. / and a few letters filter the folder; esc clears it.
  3. e opens the file in your editor; E in your second one.

Move files between two folders

  1. n opens a second panel; go to the destination there.
  2. tab back to the first panel.
  3. One file: ctrl+c to copy or ctrl+x to cut. Several: space on each, then c or x.
  4. tab to the other panel, v to paste.
z, then ti: the folders you visit most whose names match, with how often you went there. enter goes to the picked one.

Find a file deep in a folder

  1. Put the cursor on the folder and press f.
  2. Type part of the name; enter goes to the file.

Look before you open

  1. The preview shows text, code, images and PDFs; ctrl+f hides or shows it. In a PDF, alt+shift+→ turns the page.
  2. M focuses Details: the file's size and dates, file operations under way, and your Mac's cpu, memory and disk.

Hand files to another app

  1. p copies the path; P the parent folder's; c the current folder's.
  2. Y sends the selection to your shelf app (Yoink) to drag elsewhere.

Keep your places, and leave from one

  1. t pins the folder under the cursor; s opens the popup with pinned folders and recent files.
  2. Q quits and leaves your shell in the folder you were in.
s: your pinned folders and recent files. The line at the bottom shows the path enter goes to.
Workflow 2

One coding agent beside you

Claude Code or Codex runs in a WezTerm pane next to Marmota, in the folder you are in. You browse on the left and talk to it on the right; Cmd+Opt+← → move between the two.

Claude Code adds a health check, on the right. On the left, ✳ marks the two files it has changed so far (M changed in git, ? new), and the status line says ✳ 1 working.

Start it

  1. Go to the project's folder.
  2. >, type claude or codex, enter. The session opens beside Marmota.

Show it the files you mean

  1. Select the files in Marmota (space), or leave the cursor on one.
  2. @ types them into the session's prompt as mentions and moves the keyboard there.
  3. Say what to do with them.
@ on server.go typed @internal/api/server.go into Claude Code's prompt and moved the keyboard there; the request follows it.

Keep browsing while it works

  1. A ✳ marks each file it changed; a folder shows how many inside (✳3). Git's letter shows beside changed files.
  2. The status line says ✳ 1 working until it replies.

Talk to it without leaving your files

  1. m on a file adds it to your draft as a mention.
  2. K opens the Ask box, which writes to it; type and press enter. ↑ brings back what you said before.

Answer when it asks permission

  1. The status line shows ⚑ 1 needs you.
  2. ! lands on it; the preview shows its question with the options.
  3. K hands your keys to the question (y, enter, arrows, esc); ctrl+k gives them back.

Bring it to the folder you are in

  1. Browse to another folder.
  2. = moves the session there; the conversation goes on. Claude Code gets its /cd typed in; a Codex session works there from its next turn.
A session out of sight wants to run a shell command. After ! and K, your keys go to its question: 1 answers Yes.
Workflow 3

Several sessions, one beside you

Hand tasks to sessions that run in the background, each in its own folder, while one stays beside you. The Sessions box lists them all; the others wait in a hidden WezTerm workspace until you bring one in.

Four sessions: two replied (●), one asks permission (⚑), one works beside Marmota (✳). The preview shows the selected session's question.

Start one in the background

  1. ! then n: the Ask box writes to a new session in this folder. (With no session running yet, K opens it that way.)
  2. tab picks Claude Code or Codex; ctrl+o the model, ctrl+t the effort (medium unless you change it), shift+tab the permission mode.
  3. Write the task, enter. It starts out of sight and your keyboard stays in Marmota. Its row shows at once; in a folder it hasn't seen, it first asks whether you trust it, and the preview shows that question: K answers it there.

See how each one is doing

  1. ! opens the Sessions box. Each row: its state, cc or co, its name, its age, and what it is doing now. A phone beside the age means Remote Control is on: you can follow and answer that session from the Claude app (Claude Code) or the ChatGPT app (Codex).
  2. The preview shows the selected session's conversation; pgup pgdown scroll it.
✳WorkingReplying or running a tool.
⚑Needs youAsks a permission or a question.
●UnreadReplied since you looked.
○WaitingReady for your next prompt.
! n, then tab for Codex: the Ask box will start a Codex session in tidepool, in auto mode, at medium effort.

Swap which one is beside you

  1. In the Sessions box, j k to a session (or 3g for the third). From your files, ] and [ go straight to the next and the previous one.
  2. enter brings its pane beside Marmota with the keyboard; the one that was there waits out of sight.

Write to any of them

  1. Select a session in the Sessions box and press K.
  2. Write and press enter: Claude Code gets it in its prompt even while hidden; Codex runs it after what it is doing.
  3. For a running Codex session, ctrl+o and ctrl+t change its model and effort from your next message.
K on a hidden session: the message goes into its prompt. Under the draft, what you sent it before and when it replied.

Keep one in view while you browse

  1. Select it, press V: the preview stays on its conversation while you move through files.
  2. V again lets go.

Branch, rename, stop

  1. w forks the session into a new git worktree, to try another approach without touching the first.
  2. r renames it; x stops it after asking (the conversation is kept); m mentions a Claude Code session in your draft.
Workflow 4

Review what a session changed

Before you accept a session's work, read what it did, file by file, without opening each one.

W on the session that added the health check: its three files, and server.go compared with the file as it was before the session first changed it.
  1. !, select the session, W: the panel lists the files it changed.
  2. Move through them; the preview shows each file's diff. ] and [ jump to the next and previous change.
  3. e opens the file in your editor to fix something yourself, or write to the session with K.
  4. W or esc goes back to the folder.
Workflow 5

Leave them running

Get on with something else, in Marmota or another app. Marmota tells you when a session needs you, and never moves your focus on its own.

A hidden session stopped to ask permission. The note in the top right says which one and why; ! opens it, esc puts the note away.
  1. When a session you can't see asks something, fails, or replies, a note appears in Marmota's top right corner; while Marmota isn't in front, WezTerm also posts a macOS notification.
  2. The status line keeps count: ✳ working, ⚑ needs you, ● unread.
  3. ! opens the session the note is about; answer it with K, or esc to put the note away.
  4. Away from your desk? Start the session with >claude rc: Remote Control lets you follow and answer it from the Claude app.
4

Make it yours