Skip to main content
Emdash stores application settings in settings.json located in your user data directory:
  • macOS: ~/Library/Application Support/emdash/settings.json
  • Linux: ~/.config/emdash/settings.json
  • Windows: %APPDATA%\emdash\settings.json
Settings can be modified through the UI (accessible via Cmd/Ctrl + ,) or by directly editing the JSON file.

Repository settings

Controls Git worktree and branch behavior for tasks.
repository.branchPrefix
string
default:"emdash"
Prefix for task branches. When creating a task, Emdash creates a branch named {prefix}/{task-name}-{hash}.
"repository": {
  "branchPrefix": "emdash"
}
repository.pushOnCreate
boolean
default:true
Automatically push task branches to remote on creation. When enabled, Emdash runs git push --set-upstream origin {branch} after creating the worktree.
"repository": {
  "pushOnCreate": true
}

Project settings

projectPrep.autoInstallOnOpenInEditor
boolean
default:true
Automatically install dependencies when opening a project in an external editor. When enabled, Emdash runs the appropriate package manager install command (e.g., npm install, pnpm install) before opening.
projects.defaultDirectory
string
default:"~/emdash-projects"
Default directory for new projects when cloning repositories.
"projects": {
  "defaultDirectory": "/Users/yourname/projects"
}
Tilde (~) is expanded to your home directory.

Task settings

Control default task creation and execution behavior.
tasks.autoGenerateName
boolean
default:true
Automatically generate task names from the initial prompt. When enabled, Emdash uses the first few words of your prompt as the task name.
tasks.autoApproveByDefault
boolean
default:false
Enable auto-approve mode by default for new tasks. When enabled, agents can execute commands without confirmation.
Auto-approve mode allows agents to run commands without user confirmation. Only enable this if you trust the agent and understand the security implications.
tasks.autoTrustWorktrees
boolean
default:true
Automatically trust worktrees in VSCode’s workspace trust model. Prevents VSCode from showing the workspace trust dialog when opening task worktrees.

Agent provider settings

defaultProvider
string
default:"claude"
Default CLI agent to use for new tasks. Must be one of the supported provider IDs: claude, codex, opencode, amp, etc.
"defaultProvider": "claude"
providerConfigs
object
Custom configuration for CLI providers. Allows overriding default CLI paths, flags, and environment variables.
"providerConfigs": {
  "claude": {
    "cli": "/usr/local/bin/claude",
    "extraArgs": "--model claude-opus-4",
    "env": {
      "ANTHROPIC_API_KEY": "sk-..."
    }
  }
}
Each provider config supports:
  • cli - Custom CLI binary path
  • resumeFlag - Override resume flag
  • defaultArgs - Override default arguments
  • autoApproveFlag - Override auto-approve flag
  • initialPromptFlag - Override initial prompt flag
  • extraArgs - Additional CLI arguments
  • env - Custom environment variables

Interface settings

interface.theme
string
default:"system"
Application theme. Options: light, dark, dark-black, system.
"interface": {
  "theme": "dark"
}
interface.autoRightSidebarBehavior
boolean
default:false
Automatically show/hide the right sidebar based on context. When enabled, the sidebar opens automatically when relevant content is available.
interface.taskHoverAction
string
default:"delete"
Action shown when hovering over tasks. Options: delete, archive.

Keyboard shortcuts

Customize keyboard shortcuts through the keyboard settings object. Each shortcut has a key and modifier.
"keyboard": {
  "commandPalette": { "key": "k", "modifier": "cmd" },
  "settings": { "key": ",", "modifier": "cmd" },
  "toggleLeftSidebar": { "key": "b", "modifier": "cmd" },
  "toggleRightSidebar": { "key": ".", "modifier": "cmd" },
  "toggleTheme": { "key": "t", "modifier": "cmd" },
  "toggleKanban": { "key": "p", "modifier": "cmd" },
  "toggleEditor": { "key": "e", "modifier": "cmd" },
  "nextProject": { "key": "]", "modifier": "cmd" },
  "prevProject": { "key": "[", "modifier": "cmd" },
  "newTask": { "key": "n", "modifier": "cmd" },
  "nextAgent": { "key": "k", "modifier": "cmd+shift" },
  "prevAgent": { "key": "j", "modifier": "cmd+shift" }
}
Modifier values: cmd, ctrl, shift, alt, option, cmd+shift, ctrl+shiftOn macOS, use cmd. On Windows/Linux, use ctrl.

Terminal settings

terminal.fontFamily
string
default:""
Custom font family for terminal display. Leave empty to use system default monospace font.
"terminal": {
  "fontFamily": "JetBrains Mono"
}
terminal.autoCopyOnSelection
boolean
default:false
Automatically copy text to clipboard when selected in terminal.

Browser preview settings

browserPreview.enabled
boolean
default:true
Enable the built-in browser preview pane for web development projects.
browserPreview.engine
string
default:"chromium"
Browser engine for preview. Currently only chromium is supported.

Notification settings

notifications.enabled
boolean
default:true
Enable in-app notifications.
notifications.sound
boolean
default:true
Play notification sounds.
notifications.osNotifications
boolean
default:true
Show OS-level notifications (system tray notifications).
notifications.soundFocusMode
string
default:"always"
When to play notification sounds. Options: always, unfocused (only when app is not focused).

MCP (Model Context Protocol) settings

mcp.context7.enabled
boolean
default:false
Enable Context7 MCP server integration for enhanced context awareness.

Open In App settings

defaultOpenInApp
string
default:"terminal"
Default action for the “Open In” button. Options include: terminal, vscode, cursor, windsurf, etc.
hiddenOpenInApps
array
default:[]
List of “Open In” apps to hide from the UI menu.
"hiddenOpenInApps": ["terminal", "finder"]

Accessing settings UI

To open the settings interface:
  1. Press Cmd/Ctrl + ,
  2. Or click the settings icon in the top navigation
  3. Or use the command palette (Cmd/Ctrl + K) and search for “Settings”
Changes are saved automatically and take effect immediately (some settings may require app restart).

Build docs developers (and LLMs) love