Hako
Reference

Global Configuration

Global configuration, environment variables, and file locations.

Global configuration is located at ~/.config/hako/config.yml. This configuration is shared between the CLI and the macOS app.

search_paths

  • Type: array of strings
  • Default: [~/.hako/worktrees]

Directories where hako looks for environments. This is used by hako ls --all --json and the macOS app.

When hako new creates a worktree in a non-default directory (via HAKO_DIR or worktree_dir), the path is automatically added to search_paths.

search_paths:
  - /Users/me/.hako/worktrees
  - /Users/me/projects/worktrees

Environment variables

VariableDefaultDescription
HAKO_DIR~/.hako/worktreesWorktree base directory. Overrides worktree_dir in hako.yml.
HAKO_HOME~/.hakoHako installation home. Contains repo/, ports.json, ports.lock.
HAKO_INSTALL_DIR~/.local/binBinary install location. Used by install.sh.
HAKO_REGISTRY_FILE~/.hako/ports.jsonPort registry file path.
HAKO_REGISTRY_LOCK~/.hako/ports.lockPort registry lock directory path.
HAKO_HOOK_SILENTunsetSet to 1 to suppress hook output to the terminal (still logged).

File locations

FilePurpose
~/.config/hako/config.ymlGlobal config (search_paths)
~/.hako/ports.jsonPort registry (persistent assignments)
~/.hako/ports.lock/Port registry lock (directory-based)
~/.hako/repo/Hako source (installed by install.sh)
~/.hako/worktrees/{repo}/{branch}/Default worktree location
{worktree}/.env.hakoGenerated port and environment variables
{worktree}/.hako/Bare mode runtime state
{worktree}/.hako/pids/{service}.pidProcess ID files
{worktree}/.hako/logs/{service}.logService log files
{worktree}/.hako/manifest.jsonRuntime metadata (repo, branch, port_base, mode, services, created_at)
{repo}/hako.ymlPer-repo configuration
{git-common-dir}/hako/logs/Hook execution logs

ops.origin: Masakiro Corp.

On this page