# ctask status line helper for Claude Code # Reads ctask environment variables and prints a formatted context string. # Output (task): (ctask:|) # Output (project): (ctask:||project) # Output (project with distinct launch dir): # (ctask:||project:) # The displayed path is the effective launch path (workspace + launch_dir # when set), so the status line reflects the directory the user is actually # working in. Outputs nothing when not in a ctask session. if (-not $env:CTASK_TASK) { exit 0 } $displayPath = $env:CTASK_WORKSPACE if ($env:CTASK_LAUNCH_DIR) { $displayPath = Join-Path $env:CTASK_WORKSPACE $env:CTASK_LAUNCH_DIR } if ($env:CTASK_TYPE -eq 'project') { if ($env:CTASK_LAUNCH_DIR -and $env:CTASK_LAUNCH_DIR -ne $env:CTASK_TASK) { Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)|project:$($env:CTASK_LAUNCH_DIR)) $displayPath" } else { Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)|project) $displayPath" } } else { Write-Output "(ctask:$($env:CTASK_TASK)|$($env:CTASK_MODE)) $displayPath" }