From Claude Code or Codex

You've used Claude Code or Codex. You've installed Friday. This page is the translation guide: what works the same, what changes, and the smallest set of mental-model adjustments to make before you start typing.

Friday is a terminal coding agent. The surface looks familiar: slash commands, custom commands, skills, plugins, MCP. The shape of the work is different.

At a glance

TopicWhat changes
End state of a runClaude Code or Codex leaves you with uncommitted edits in your working copy. Friday leaves you with one or more commits already on a feature branch.
Session modelOne Friday session targets one branch and one PR. For a second concurrent feature, launch another session in a worktree with friday --wt.
Who edits codeThe chat you type into (Dispatch) doesn't edit files. It spawns threads that do. See Dispatch, threads, and subagents.
IsolationIn GIT mode, each thread runs in its own worktree on its own branch. See GIT mode and Cowboy mode.
MergeThreads call AcceptThread when done. The merge queue cherry-picks onto your current branch.
Working StyleA separate axis from approval mode. Collaborative / Supervised / Autonomous. See Working style.
Project rulesagents.md (or the legacy .fridayrules). Same role as CLAUDE.md.

Dispatch and threads

This is the biggest shift.

In Claude Code or Codex, the chat you type into is the agent that edits your files. In Friday, that chat is Dispatch. Dispatch coordinates. It reads code, plans, and decides what to delegate. It does not write or edit files.

When you ask Dispatch to build something, it spawns a thread. The thread runs on its own branch in its own worktree and does the implementation. You can have as many threads running as you have parallel work to do, each visible as a row in the ThreadList on the left.

Subagents are the third kind of agent and the one that maps cleanly onto what you already know. A subagent is a one-shot run of the Task tool. It has no UI pane and returns text. This is the same pattern as Claude Code's Task tool. Friday ships file-search, web-search, code-review, and friday-handbook; you can write your own.

Read: Dispatch, threads, and subagents.

End state of your work

In Claude Code or Codex, when the agent stops you usually have uncommitted edits in your working copy. You commit, push, and open the PR yourself.

In Friday's GIT mode, the work ends with one or more commits already on a feature branch. The thread did the implementation in its own worktree, committed there, and cherry-picked the commits back onto your current branch when you accepted. From there, push and open the PR from inside Friday ("push and open a PR") or from your shell.

If you'd rather edit in place and commit yourself, use Cowboy mode. See below.

One session, one branch, one PR

Friday is designed around the assumption that a session corresponds to a single feature branch and a single PR. Threads spawn from your current branch and merge their commits back onto it.

To work on two features at once, don't open two threads against unrelated branches. Launch a second Friday session in its own worktree:

friday --wt

That gives you a sibling worktree with its own branch and its own Friday session. See Parallelize work with worktrees.

The PR target is a separate setting, the base branch. Set it with /base-branch. For most workflows it stays at main and you forget about it. For stacked PRs, point it at the previous PR's branch. See Branches.

GIT mode vs Cowboy mode

Friday picks one at startup based on whether you launched inside a git repo. GIT mode is the default and the path the rest of the docs assume: per-thread worktrees, branches, the merge queue, /base-branch, /pr-stack, and PR tools.

Cowboy mode is the closest behavioral match to Claude Code or Codex: edits land in your working directory directly, no per-thread isolation, no branches, no merge queue. Use it for scratch directories, one-off scripts, or when you want the working-copy-edits model you're used to. Force it with friday --cowboy (or -c).

You can't switch mid-session. Restart with the right flag.

Read: GIT mode and Cowboy mode.

AcceptThread is the merge gate

When a thread is done, it calls AcceptThread. The merge queue cherry-picks its commits onto your current branch and deletes the thread's branch and worktree.

Two gates control this. Whether the thread calls AcceptThread on its own depends on Working Style: Collaborative threads tend to pause for input on non-trivial work; Supervised and Autonomous run end-to-end. Whether you see a "Ready to accept this thread?" prompt also depends on Working Style: Collaborative shows it once per thread, Supervised and Autonomous skip it.

If you find yourself clicking through one accept prompt per thread on a parallel dispatch, switch Working Style to Supervised or Autonomous in /settings.

Read: Dispatch / Accepting a thread's changes.

Working Style is a separate axis

Approval mode (2x / 5x / 10x) controls when Friday asks before running commands. That's the axis you already know from Claude Code's permission prompts.

Working Style is the second axis and is Friday-specific. Three options:

  • Collaborative (default): asks clarifying questions and explains its plan before changing code.
  • Supervised: plans with you, then executes the approved plan without further interruption.
  • Autonomous: uses best judgment and keeps going.

The two axes compose. --2x plus Autonomous means Friday decides aggressively but still asks before each command.

Read: Working style, Approval modes & permissions.

What works the same way

Friday follows the agents.md and agentskills.io conventions where they apply, so most of what you've built around Claude Code or Codex transfers without reconfiguration. The .claude/ discovery root (.claude/commands/, .claude/skills/, .claude/agents/) is read as a Claude-compatible fallback to .agents/, so existing per-project setups keep working. Note: CLAUDE.md itself is not picked up; project rules have to live in agents.md or .fridayrules.

Reach for these without rethinking them:

  • Edit, Read, Bash, Grep, Glob, Write tools behave as you'd expect.
  • MCP servers use the standard protocol. Servers configured for Claude Code or Codex should work in Friday with no changes.
  • Custom commands use Markdown frontmatter, $1/$ARGUMENTS substitution, and inline !`bash` evaluation. See Custom commands.
  • Skills use the same SKILL.md layout. See Skills.
  • Subagents use the same tools allowlist and model field. See Subagents.
  • Plugins and marketplaces install once. Install via Claude Code and they appear in Friday too. See Plugins & marketplaces.
  • Project rules: agents.md plays the role of CLAUDE.md. See agents.md & project rules.
  • Settings live at ~/.friday/.user_preferences.yaml (YAML, hidden file).

Coming from Claude Code

A few specifics:

  • The Task tool exists and works the same way. Subagents are first-class.
  • Friday's planning behavior is closer to "always on" than Claude Code's plan-mode toggle. Dispatch's system prompt requires calling the Plan tool before dispatching worker threads for any non-trivial work, so you'll see a numbered plan and a "Shall I proceed?" prompt without asking for it.
  • The code-review subagent always runs on the opposite provider. If you're driving with Claude, the reviewer is GPT.

Coming from Codex

A few specifics:

  • The terminal UI is closer to Claude Code's than to Codex's. Multi-pane ThreadList on the left, Dispatch in the middle, slash commands on /.
  • friday --prompt "..." is the autostart entry point: generates a feature branch from the prompt and runs the work end-to-end. Add --one-shot to exit when done. See Autostart mode.

Read next