github / github/copilot-cli

Built-in agents (explore, task, code-review) do not inherit custom instructions

Open
#1,990 1 comment 3 reactions 0 assignees View on GitHub
area:agents area:configuration
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

Built-in agents (`explore`, `task`, `code-review`) do not follow custom instructions. For example, with the instruction "Never use system python. Use `uv run python ...` instead", these agents still invoke `python` or `python3` directly. This causes two problems:

1. The agent's work is interrupted by a permission prompt (since `uv` is permitted via `--allow-tool` but `python` is not). And I have to navigate them to use `uv` to each agents.
2. Project packages are unavailable in the system Python environment, which can cause scripts to fail.

This is not limited to Python execution. For example, the instruction "never use /tmp" is also ignored by these agents.

### Affected version

GitHub Copilot CLI 1.0.3.

### Steps to reproduce the behavior

1. Add custom instruction: "Never use system python. Use `uv run python ...` instead"
2. Ask copilot: "Ask all built-in agents this question and report the result: When you are asked to run a python script, for example test.py, what command will you execute?"

Response example (claude-sonnet-4.6 (medium)):
```
Here are the results from all 4 built-in agents:

| Agent | Command |
|---|---|
| **explore** | `python3 test.py` (or `python test.py`) |
| **task** | `python test.py` (default), `python3 test.py` if Python 3 is needed |
| **general-purpose** | `uv run python test.py` |
| **code-review** | `python test.py` (or `python3 test.py` depending on environment) |

**Key finding:** Only the **general-purpose** agent correctly follows the custom instruction ("Never use system python. Use `uv run python ...` instead"). The other three agents (`explore`, `task`, `code-review`) would use `python` or `python3` directly — which is **non-compliant** with the environment's configuration.

If you need Python scripts run correctly in this environment, prefer the **general-purpose** agent, or explicitly instruct the others to use `uv run python`.
```

### Expected behavior

All sub-agents should have access to and comply with the user's custom instructions, consistent with how the general-purpose agent already behaves.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.