Skip to content

Config Reference

pertmux uses a TOML configuration file. It looks for ~/.config/pertmux.toml by default, or you can specify a path with -c:

Terminal window
pertmux -c ./path/to/config.toml serve
KeyTypeDefaultDescription
refresh_intervalinteger2How often (in seconds) to poll tmux panes and agent status
mr_detail_intervalinteger60How often (in seconds) to refresh MR detail and pipeline status
worktree_intervalinteger30How often (in seconds) to refresh worktree list
mr_list_intervalinteger300How often (in seconds) to refresh the MR/PR list from the forge
default_agent_commandstringCommand to run in a split pane when focusing a worktree (e.g. "opencode")
KeyTypeDefaultDescription
hoststringgitlab.comGitLab instance hostname
tokenstringPersonal access token (or set PERTMUX_GITLAB_TOKEN env var)
KeyTypeDefaultDescription
hoststringgithub.comGitHub hostname (use custom host for GitHub Enterprise)
tokenstringPersonal access token (or set PERTMUX_GITHUB_TOKEN env var). Needs repo scope for private repos.
KeyTypeRequiredDescription
namestringyesDisplay name (shown in overview)
sourcestringyes"gitlab" or "github"
projectstringyesFull project path (e.g. team/app or org/repo)
local_pathstringyesAbsolute path to local repo (validated at startup)
usernamestringnoYour username (for filtering MRs/PRs to your own)

Including this section enables the opencode agent. Omit or comment it out to disable.

KeyTypeDefaultDescription
db_pathstring~/.local/share/opencode/opencode.dbPath to the opencode SQLite database

Remap action keys. Navigation keys (j/k///Tab/Enter/Esc/q) are not configurable. Each action must have a unique key — duplicates are rejected at startup with a clear error message.

KeyTypeDefaultDescription
refreshstring"r"Refresh all data
open_browserstring"o"Open selected MR in browser
copy_branchstring"b"Copy selected branch name to clipboard
filter_projectsstring"f"Fuzzy filter to switch project
create_worktreestring"c"Create new worktree
delete_worktreestring"d"Delete selected worktree
merge_worktreestring"m"Merge selected worktree into default branch
agent_actionsstring"a"Open agent actions panel

Define custom agent actions that can be sent to opencode instances from the dashboard. When any [[agent_action]] entries are present, they replace the built-in defaults. Omit this section entirely to use the two default actions (rebase, pipeline fix).

KeyTypeRequiredDefaultDescription
namestringyesDisplay name shown in the actions popup
promptstringyesPrompt template sent to the agent
requires_mrbooleannofalseIf true, action is skipped when no MR is linked

Prompts support template variables: {target_branch}, {source_branch}, {mr_url}, {mr_iid}, {project_name}. See Agent Actions for details and examples.

VariableOverridesDescription
PERTMUX_GITLAB_TOKEN[gitlab].tokenGitLab personal access token
PERTMUX_GITHUB_TOKEN[github].tokenGitHub personal access token