Taskeract Taskeract
Features Pricing Blog Docs Changelog
Sign in Get started
FeaturesPricingBlogDocsChangelog 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 External Editor Privacy Sandbox MCP Servers Notifications Web Remote Storage Providers 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
  shell_panel_height: 250
  preferred_shell: ""
  window_gap: 2
  wm_status_bar: true
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.
shell_panel_heightnumber250Height of the embedded shell panel in pixels. Updated automatically when you drag the divider.
preferred_shellstring""Shell to use for embedded terminals. Empty uses your system default. On Windows, options include "cmd", "powershell", and "git-bash". You can also set this by shift-clicking the terminal button in the session header.
window_gapnumber2Spacing in pixels around windows in tiling and sliding layouts. Set to 0 for no gaps.
wm_status_barbooleantrueShow keybinding hints at the bottom of tiling and sliding layouts.
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 tab in Settings.

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"]
  git_push: "p"
  git_integrate: "m"

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.
git_pushpPush commits to the remote.
git_integratemCreate PR, Merge & Push, or Merge PR (context-dependent).

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.

Window Manager Shortcuts (use modifier)

Directional keys and modifier combos used in tiling and sliding layouts. Each action group -- focus, resize, and swap/move -- has its own modifier combo that you can set independently. Combos are written as +-separated parts: mod (Cmd on macOS, Ctrl on Linux/Windows), ctrl, meta (or super), alt, shift. For example, mod+shift or ctrl+alt. See Window Management for the full reference.

Action Default Description
wm_focus_modmodModifier combo for directional focus.
wm_resize_modmod+shiftModifier combo for directional resize.
wm_swap_modmod+altModifier combo for directional swap/move.
wm_dir_lefthDirectional left key.
wm_dir_rightlDirectional right key.
wm_dir_upkDirectional up key.
wm_dir_downjDirectional down key.

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.

External Editor

Configure the preferred external editor for opening session worktrees. Each platform has its own setting so the same config file works across machines.

editor:
  macos: ""
  linux: ""
  windows: ""
Key Type Default Description
macosstring""Editor ID for macOS.
linuxstring""Editor ID for Linux.
windowsstring""Editor ID for Windows.

Known editor IDs: code (VS Code), cursor, windsurf, zed, idea (IntelliJ IDEA), webstorm, subl (Sublime Text), neovide, nvim (Neovim), vim, emacs. When left empty, Taskeract auto-detects the first available editor. You can also set your preferred editor from the session toolbar dropdown or in Settings > Appearance.

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.

Sandbox

Configure what sandboxed sessions are allowed to access. These settings are also available in the Sandbox tab of the settings UI. See the Sandbox section in the Usage Guide for details.

sandbox:
  allowed_paths: []
  allowed_domains: []
  env_passthrough: []

Common tool directories (git config, Cargo, npm, pyenv, rustup, rbenv, mise, and others) and package registries are always allowed automatically and do not need to be listed here. The same applies to API endpoints required by agents. Only add paths and domains that are specific to your workflow.

Key Type Default Description
allowed_pathsarray[]Additional file and directory paths the agent can read inside a sandboxed session. Supports ~/ for the home directory. Common tool directories are already included automatically.
allowed_domainsarray[]Additional domains the agent can connect to from a sandboxed session. Subdomains are included automatically (e.g., allowing github.com also allows api.github.com). Agent API domains and package registries are always allowed.
env_passthrougharray[]Environment variable names to pass through to the sandboxed session. By default, sandboxed sessions start with a clean environment. Add variable names here if the agent needs specific API keys or tool configuration from your shell.

Skills

Control the skills.sh integration. This setting is also available in the Skills tab of the settings UI. See the Agent Skills section in the Usage Guide for details.

skills_telemetry_enabled: true
Key Type Default Description
skills_telemetry_enabledbooleantrueAllow the skills.sh CLI to send anonymous usage data when installing or updating skills. When disabled, DISABLE_TELEMETRY=1 is passed to all skills CLI commands.

MCP Servers

MCP servers are managed through the MCP Servers tab in Settings (for global servers available to all projects) or through a project’s MCP tab (for servers scoped to that project). No config file entries are needed. See the MCP Servers section in the Usage Guide for details.

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.

Storage Providers

Storage providers let you attach images, videos, and documents to issue comments and pull request replies. Files are uploaded to an S3-compatible storage service and embedded as markdown URLs in the comment body.

Setting Up a Storage Provider

Open Settings > Accounts and scroll to the Storage Providers section. Click Add Provider and fill in the connection details for your S3-compatible service.

FieldDescription
LabelA display name for this provider (e.g. "My B2 Bucket").
Endpoint URLThe S3 endpoint (e.g. https://s3.us-west-002.backblazeb2.com).
RegionThe storage region (e.g. us-west-002).
BucketThe bucket name where attachments are stored.
Access KeyYour storage access key.
Secret KeyYour storage secret key. Stored locally and never sent to Taskeract servers.
Path PrefixOptional prefix prepended to all object keys (e.g. taskeract/).
Public URL BaseIf your bucket is publicly readable, set this to the public base URL. Uploaded files use public URLs that never expire. Leave blank for pre-signed URLs.
URL ExpiryHours until pre-signed URLs expire (default: 168, i.e. 7 days). Only used when no public URL base is set.

After saving, click Test Connection to verify that Taskeract can reach your bucket.

Linking a Storage Provider to an Account

Each connected account (GitHub, Bitbucket, Jira, etc.) has a Storage dropdown at the bottom of its card. Select the storage provider you want to use for that account. All projects using that account will use the selected storage provider for attachments.

Compatible Services

Any S3-compatible storage service works, including:

  • Amazon S3
  • Backblaze B2
  • Cloudflare R2
  • MinIO
  • DigitalOcean Spaces
  • Wasabi

GitLab

GitLab accounts do not require a storage provider. Taskeract uses GitLab's built-in upload API to attach images directly. You can still configure a storage provider for GitLab if you prefer, but it is not required.

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
  confluence_space_key: TEAM
  status_groups:
    - name: Dev
      statuses: [open, "In Progress", "In Review", Done]
      default: true
    - name: QA
      statuses: [open, "Ready for Test", Testing, Done]

mcp_servers:
  - registry_name: taskeract-custom/brave-search
    title: brave-search
    transport_type: stdio
    env_mappings:
      - name: BRAVE_API_KEY
        value: ${BRAVE_API_KEY}
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.confluence_space_keystringConfluence space key for wiki access. Required when using Confluence as the wiki source. Uses the same Jira account credentials.
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.
mcp_serversarrayMCP servers recommended for the project. Added automatically when you install a server from the project's MCP tab. Teammates see these as suggestions and can install them with one click.

Config Sync

When a project is loaded, Taskeract checks the remote for shared configuration and applies it automatically. On Team plans, saving project configuration syncs your changes back to the remote so all team members stay in sync. This keeps the config out of your main branch history while making it available to everyone on the project. Individual plan users receive shared configuration but cannot push changes.

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"]
  wm_focus_mod: "mod"
  wm_resize_mod: "mod+shift"
  wm_swap_mod: "mod+alt"

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: ""

editor:
  macos: ""
  linux: ""
  windows: ""

notifications:
  enabled: true
  on_task_complete: true
  on_permission_needed: true

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

sandbox:
  allowed_paths: []
  allowed_domains: []
  env_passthrough: []

telemetry_enabled: true
diagnostic_mode: false
Taskeract Taskeract

Your AI coding workspace.

Product

  • Features
  • Pricing
  • Changelog
  • Get started

Resources

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

Company

  • About
  • Discord
  • Privacy
  • Terms

© 2026 Acqusys, LLC

Built for developers who code with AI