Taskeract Taskeract
Pricing Download Docs
Sign in Get started
PricingDownloadDocs Sign in Get started

Configuration
Reference

Customize appearance, system tray, keybindings, agent display, web remote, and more via config.yaml.

On this page

Config File Location Appearance Keybindings Agent Display Git History Viewer Merge Tool Privacy Notifications Web Remote Project Configuration Full Example

Config File Location

Taskeract stores its configuration in a YAML file at the following path:

# Linux
~/.config/taskeract/config.yaml

# macOS
~/Library/Application Support/taskeract/config.yaml

# Windows
%APPDATA%\taskeract\config\config.yaml

The file is created automatically on first launch with sensible defaults. You can edit it with any text editor, or use the settings UI within Taskeract. Changes take effect the next time Taskeract starts, or immediately for some settings when saved while the app is running.

Appearance

Control font settings, color theme, and system tray behavior. See the Themes section in the Usage Guide for details on installing and managing themes.

appearance:
  theme_id: "taskeract-dark"
  mono_font: ""
  code_font_size: 12
  code_font_weight: 400
  code_line_height: 1.5
  tray_enabled: true
  tray_icon_style: "color"
  close_to_tray: false
Key Type Default Description
theme_idstring"taskeract-dark"Active color theme. Built-in: "taskeract-dark", "taskeract-light". Installed themes use "{extension_id}/{label}". See Themes.
mono_fontstring""Monospace font used in code views and terminals. Empty uses system default.
code_font_sizenumber12Font size in pixels.
code_font_weightnumber400Font weight (100–900).
code_line_heightnumber1.5Line height multiplier.
sidebar_widthnumber—Width of the sidebar in pixels. Updated automatically when you drag the divider.
tray_enabledbooleantrueShow the system tray icon. When disabled, the tray icon is removed.
tray_icon_stylestring"color"Tray icon variant: "color", "black", or "white".
close_to_traybooleanfalseWhen enabled, closing the window hides Taskeract to the system tray instead of quitting. Automatically enabled while Web Remote is active.
changes_tree_widthnumber—Width of the file tree panel in the Changes view, in pixels. Updated automatically when you drag the divider.
pr_file_tree_widthnumber—Width of the file tree panel in the PR Review view, in pixels. Updated automatically when you drag the divider.
pr_checklist_widthnumber—Width of the review checklist panel in the PR Review view, in pixels. Updated automatically when you drag the divider.
pr_description_heightnumber—Height of the PR description panel in the PR Review view, in pixels. Updated automatically when you drag the divider.
pr_thread_detail_heightnumber—Height of the thread detail panel in the review checklist, in pixels. Updated automatically when you drag the divider.
pr_thread_bar_widthnumber—Width of the PR thread bar sidebar, in pixels. Updated automatically when you drag the divider.
issue_detail_widthnumber—Width of the issue detail sidebar, in pixels. Updated automatically when you drag the divider.
installed_themesarray[]Installed theme extensions. Managed automatically by the Theme Browser UI.

Keybindings

Override any default keyboard shortcut. The modifier_key controls which key is used as the modifier for global shortcuts. Leave it empty to use the system default (Cmd on macOS, Ctrl on Linux/Windows). Options: "", "ctrl", "meta", "alt", "shift".

keybindings:
  modifier_key: ""
  new_session: "s"
  chat_scroll_up: "k"
  chat_scroll_down: "j"
  prev_change: ","
  next_change: "."
  visual_mode: "v"
  escape: "Escape"
  up: ["ArrowUp", "k"]
  down: ["ArrowDown", "j"]
  left: ["ArrowLeft", "h"]
  right: ["ArrowRight", "l"]
  yank: [" ", "y"]

Global Shortcuts (use modifier)

Action Default Description
new_sessionsOpen agent picker to create a new session.
chat_scroll_upkScroll message history up.
chat_scroll_downjScroll message history down.

Changes View Shortcuts (no modifier)

Action Default Description
up↑ / kNavigate up in tree or diff.
down↓ / jNavigate down in tree or diff.
left← / hFocus file tree.
right→ / lFocus diff viewer.
prev_change,Jump to previous change hunk.
next_change.Jump to next change hunk.
visual_modevToggle line selection mode.
yankSpace / yCopy selected lines to clipboard.
escapeEscapeExit visual mode.

Agent Display

Customize how each agent appears in the session list. Set a color and a single display letter for quick identification.

agents:
  claude_code:
    color: "#06b6d4"
    display_letter: "C"
  codex:
    color: "#22c55e"
    display_letter: "X"
  opencode:
    color: "#eab308"
    display_letter: "O"
Key Type Description
colorstringHex color used for the agent badge and session accent.
display_letterstringSingle character shown in the agent badge.

Git History Viewer

Configure the panel layout for the Git History Viewer. These values are updated automatically when you drag the panel dividers, but you can also set them by hand.

git_viewer:
  graph_split_percent: 45.0
  detail_split_percent: 30.0
Key Type Default Description
graph_split_percentnumber45.0Width of the commit graph panel as a percentage of the total viewer width. The remaining space is used by the commit detail panel.
detail_split_percentnumber30.0Height of the file list within the detail panel as a percentage of the detail panel height. The remaining space is used by the content viewer (diff or file contents).

Merge Tool

Configure the external merge tool used for resolving git conflicts. Each platform has its own setting so the same config file works across machines. See Merge Conflicts for usage details.

merge_tool:
  macos: ""
  linux: ""
  windows: ""
Key Type Default Description
macosstring""Merge tool ID or executable path for macOS.
linuxstring""Merge tool ID or executable path for Linux.
windowsstring""Merge tool ID or executable path for Windows.

Known tool IDs: kdiff3, beyondcompare, meld, p4merge, deltawalker, winmerge, opendiff, vimdiff. You can also provide the path to any merge tool executable. When left empty, Taskeract auto-detects the first available tool on the system, preferring three-way merge tools.

This setting is also available in Settings > Appearance as a dropdown.

Privacy

Control telemetry and diagnostic data collection. These settings are also available in the Privacy tab of the settings UI.

telemetry_enabled: true
diagnostic_mode: false
Key Type Default Description
telemetry_enabledbooleantrueSend usage analytics and error reports (session created, errors, etc.) to help improve Taskeract. No code or conversation content is ever collected. App open/close and feedback events are always sent regardless of this setting.
diagnostic_modebooleanfalseRecords your UI interactions in depth for diagnostic review. Leave this off unless Taskeract support asks you to enable it to help diagnose a specific problem. In preview and beta builds, diagnostic mode is always enabled and cannot be turned off.

Notifications

Configure desktop notifications for agent events. These settings are also available in the Privacy tab of the settings UI. See the Notifications section in the Usage Guide for details on notification behavior.

notifications:
  enabled: true
  on_task_complete: true
  on_permission_needed: true
Key Type Default Description
enabledbooleantrueMaster toggle for all desktop notifications. When disabled, no notifications are sent regardless of the individual event toggles below.
on_task_completebooleantrueSend a notification when an agent finishes its work and the session is ready for review.
on_permission_neededbooleantrueSend a notification when an agent is waiting for permission approval (e.g., to write files or run commands).

Web Remote

Configure the Web Remote server for browser-based access from other devices on your local network. These settings are also available in the Remote tab of the settings UI. See the Web Remote section in the Usage Guide for details.

web_remote:
  enabled: false
  port: 9800
  username: ""
  password: ""
Key Type Default Description
enabledbooleanfalseStart the Web Remote server automatically when Taskeract launches.
portnumber9800Port the Web Remote server listens on.
usernamestring""Login username for Web Remote access. Generated automatically when first enabled.
passwordstring""Login password for Web Remote access. Generated automatically when first enabled.

Project Configuration

Each project stores its configuration in .tact/project.yaml inside the project directory. This file is managed through the Project Properties UI, but you can also edit it by hand.

# .tact/project.yaml
web_app: true

git:
  development_branch: develop
  production_branch: main
  integration_mode: pr

commands:
  - name: dev
    command: npm run dev
    type: startup
  - name: install
    command: npm install
    type: init

copy_patterns:
  - pattern: .env
    directory: false
  - pattern: .env.local
    directory: false

issue_tracker:
  type: jira
  jira_project_key: PROJ
  status_groups:
    - name: Dev
      statuses: [open, "In Progress", "In Review", Done]
      default: true
    - name: QA
      statuses: [open, "Ready for Test", Testing, Done]
Key Type Description
web_appbooleanEnable isolated local domain routing for this project. Each session gets its own subdomain under .tact using its branch suffix (e.g., swift-falcon.myproject.tact), keeping browser cache, cookies, and storage separate between sessions.
git.development_branchstringDevelopment branch name used as the default base for new sessions. New session branches are created from this branch on the remote. Auto-detected from remote branches if not set (checks develop, dev, main, master in order).
git.production_branchstringProduction branch name. Auto-detected if not set.
git.integration_mode"pr" or "merge"How session branches are integrated into the base branch. "pr" (default) creates a pull request on GitHub, GitLab, or Bitbucket. "merge" merges the session branch locally and pushes to the remote.
commandsarrayList of named commands. type: startup commands run when a session starts (for web apps). type: init commands run once when a worktree is first created.
copy_patternsarrayFiles or directories to sync across all worktrees. Set directory: true for recursive directory sync.
issue_tracker.typestringIssue tracker type: "github", "gitlab", "jira", "linear", "trello", or "taiga".
issue_tracker.status_groupsarrayNamed subsets of statuses for filtering the Issues view. Each group has a name, a statuses list (status IDs in display order, max 9), and an optional default: true flag.

Config Sync

When you save project configuration, Taskeract silently commits and pushes it to a taskeract/config orphan branch on the remote. This keeps the config out of your main branch history while making it available to other team members. When a project is loaded, Taskeract checks the remote orphan branch for newer configuration and applies it automatically.

Full Example

A complete config.yaml with all available options:

appearance:
  theme_id: "taskeract-dark"
  mono_font: ""
  code_font_size: 12
  code_font_weight: 400
  code_line_height: 1.5
  tray_enabled: true
  tray_icon_style: "color"
  close_to_tray: false

keybindings:
  modifier_key: ""
  new_session: "s"
  chat_scroll_up: "k"
  chat_scroll_down: "j"
  prev_change: ","
  next_change: "."
  visual_mode: "v"
  escape: "Escape"
  up: ["ArrowUp", "k"]
  down: ["ArrowDown", "j"]
  left: ["ArrowLeft", "h"]
  right: ["ArrowRight", "l"]
  yank: [" ", "y"]

agents:
  claude_code:
    color: "#06b6d4"
    display_letter: "C"
  codex:
    color: "#22c55e"
    display_letter: "X"
  opencode:
    color: "#eab308"
    display_letter: "O"

git_viewer:
  graph_split_percent: 45.0
  detail_split_percent: 30.0

merge_tool:
  macos: ""
  linux: ""
  windows: ""

notifications:
  enabled: true
  on_task_complete: true
  on_permission_needed: true

web_remote:
  enabled: false
  port: 9800
  username: ""
  password: ""

telemetry_enabled: true
diagnostic_mode: false
Taskeract Taskeract

Your AI development workspace.

Product

  • Pricing
  • Download
  • Changelog
  • Get started

Resources

  • Documentation
  • Getting Started
  • Usage Guide
  • Configuration
  • Themes

Company

  • About
  • Privacy
  • Terms

© 2026 Acqusys, LLC

Built for developers who code with AI