logo
Fold
Install
Docs
Releases
Install
Docs
Releases
logo
Fold
What Fold is
Getting started
Sessions
Files and editor
Git panel
Search
Workspaces
Settings
Keyboard shortcuts
Terminal setup

Updated:

PreviousKeyboard shortcuts

#Terminal setup

Fold runs your login shell as-is and inherits whatever you already have. This page covers the optional setup Fold was designed against, and one constraint that isn't optional.

#The setup script

bash scripts/setup-terminal.sh

It installs:

  • Maple Mono NF — the font Fold is designed in
  • Oh My Zsh, Powerlevel10k, and the usual plugins
  • The canonical prompt configuration, scripts/p10k.zsh

Everything it adds is gated behind FOLD=1, so your shell outside Fold is untouched.

#The single-line prompt rule

This one is not a preference

The prompt must be single-line and left-only. Multi-line prompts, and prompts with right-hand segments, duplicate themselves when the window is resized.

Right-hand segments are the subtler failure: they pad the line to the full terminal width, so narrowing the window wraps the prompt and it drifts. In a web-based terminal this shows up as a growing pile of stale prompts every time you drag a divider.

The canonical config therefore has no right segments, no instant prompt, and no segment icons — plus Tokyo Night colours to match the app.

#Gating your own config

Fold exports these into every session:

VariableValue
FOLD1
TADA1 — kept so pre-rename zshrc blocks keep working

Gate anything Fold-specific on FOLD:

if [[ -n "$FOLD" ]]; then
  source ~/.p10k.fold.zsh
  export PAGER=cat        # agents shouldn't hit an interactive pager
fi

PAGER=cat is worth calling out — an agent that triggers less will hang waiting for a keypress it can't send.

#Fold doesn't touch your agent's config

Fold is agent-agnostic. It does not read or write any coding agent's configuration files, and it has no integration with any specific one. It opens a folder, spawns a shell, and stays out of the way.

An earlier version had a Claude Code hook integration; it was removed in v0.4.2 for exactly this reason.