NAH / THE CODING AGENT

Give the terminal
a capable partner.

nah works inside your repository with an agent loop you can follow, sessions that persist, and permissions that make sense for the way you work.

~/work/acme · nah INTERACTIVE
❯ Fix the session refresh edge case and add a regression test
I’ll trace the refresh flow, then make the smallest safe change.
grepsrc/auth/session.ts3 matches
readsrc/auth/session.ts:40-112complete
Permission required
edit src/auth/session.ts

Update the expired-token branch and preserve the existing retry behavior.

Reject
❯
ASK MODEsession · 02:14claude-sonnet · $0.08
Changes stay reviewableInspect the diff before you commit.
FROM TASK TO REVIEWABLE DIFF

Useful autonomy.
Clear checkpoints.

nah can inspect broadly, explain its plan, and ask before it changes files or runs commands.

01

Explore the repo

Read, search, and map the code before making a change.

02

Work through a task

Stream model output and tool activity in the terminal as it happens.

03

Keep your say

Approve edits and shell actions, or choose a different permission mode.

04

Review the result

Inspect the diff in your own repository and decide what gets committed.

FITS YOUR WORKFLOW

Interactive when you’re there.
Scriptable when you’re not.

Use nah in a full-screen terminal session, ask it for a single response, or consume structured JSONL events from another tool.

See CLI modes and permissions
Interactive$ nahWork in a live session with steering and slash commands.
Print mode$ nah -p "…"Run a task, print the result, and exit cleanly.
JSONL events$ nah --mode jsonConnect structured run events to your scripts.
KEEP EXPLORING

Want to build your own agent?

Use the underlying runtime and choose exactly how it should work.

Explore the framework