Skip to content

Feature Request: Configurable system prompt - allow users to slim down fixed token overhead #2627

@ronkeele

Description

@ronkeele

Problem

The Copilot CLI system prompt consumes ~20,500 tokens at session start before any user content is loaded. On a 200K context window, that's ~10% consumed by instructions the user may not need. Combined with tool definitions (~8,500 tokens for tool usage guidelines alone), a significant portion of the context window is unavailable for actual work.

For comparison, pi achieves robust agent behavior with a system prompt around ~1,000 tokens — roughly 20x smaller. I understand Copilot CLI's system prompt is intentionally comprehensive to ensure consistent, high-quality behavior across diverse user skill levels and use cases, and that's a reasonable design choice. But for power users in long sessions with large codebases, the overhead is noticeable.

Proposal

Allow users to configure which system prompt sections are loaded, similar to how --disable-builtin-mcps lets users opt out of MCP servers. Ideas:

  1. --slim-prompt flag — Load a minimal system prompt (core instructions only, skip verbose tool guidelines)
  2. --disable-prompt-sections flag — Selectively disable sections (e.g., --disable-prompt-sections plan-mode,git-rules)
  3. Tiered prompts--prompt-level minimal|standard|full with increasing detail
  4. Lazy tool guidelines — Load tool usage guidelines on first use of that tool rather than at session start (highest-impact single change)

Impact

For power users who already know the tool conventions, trimming verbose guidelines could save 5,000-8,000 tokens — meaningful headroom for longer sessions and larger codebases. This would let Copilot CLI preserve its comprehensive defaults while giving experienced users an opt-in path to leaner sessions.

Environment

  • Copilot CLI v1.0.22
  • Claude Opus 4.6
  • Windows 11

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions