github / github/copilot-cli

statusLine.command is not executed or rendered when footer.showCustom=true

Open
#3,192 2 comments 2 reactions 0 assignees View on GitHub
area:configuration area:terminal-rendering
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

With `footer.showCustom=true` and `statusLine.command` set to a valid executable, Copilot CLI 1.0.43 on macOS reads `settings.json` for built-in footer items, but never executes the custom status line command and never renders custom output.

There is no visible error in the TUI.

### Affected version

GitHub Copilot CLI 1.0.43

### Steps to reproduce

1. Put this in `~/.copilot/settings.json`:

```json
{
"statusLine": {
"type": "command",
"command": "/bin/date",
"padding": 1
},
"footer": {
"showCustom": true,
"showBranch": true,
"showAgent": true
}
}
```

2. Start a fresh `copilot` session in a new terminal.
3. Verify that built-in footer settings are applied (for example, `showBranch` affects the footer, which shows `settings.json` is being read).
4. Run `/statusline` and verify that `custom` is enabled.
5. Observe that the custom output never appears in the status line.

### Additional verification

I also replaced `/bin/date` with a trivial local shell script that:
- writes a timestamp to a file
- reads stdin
- prints a short string to stdout

That script also never ran: no file was created and no custom output was rendered.

### Expected behavior

When `footer.showCustom=true`, the configured `statusLine.command` should execute, receive the current session status JSON on stdin, and render its stdout in the custom status line area.

### Actual behavior

Built-in footer/status line settings are applied, but the custom `statusLine.command` appears not to execute at all and nothing is rendered for the custom status line item.

### Environment

- OS: macOS
- Copilot CLI: 1.0.43

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with the shown settings.json and /bin/date command, then inspect the /statusline path and the footer handling for showCustom. Verify whether the configured command is invoked with session status JSON on stdin. Done means the command runs and its stdout appears in the custom status line when footer.showCustom=true.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.