Skip to content

Extensions do not load in headless (-p or -i) scenarios. #2665

@chaseBrow

Description

@chaseBrow

Describe the bug

Extensions do not load in headless terminals whether the prompt is passed with -p or -i. I have tried numerous flags to make this work including: --autopilot, --allow-all, (I always use --experimental)

I have also tried using Script, Expect, and using LD_PRELOAD on Node to force a TTY to make copilot think it is running in a headed terminal.

Affected version

1.0.25

Steps to reproduce the behavior

  1. Create a simple extension that generates some test.txt file on session start.
  2. Create a headless runtime, I use Azure ACA Container App Jobs running Ubuntu 24.04.
  3. Launch copilot -i <prompt> --experimental (I use an entrypoint.sh script that is built into my ubuntu container)
  4. You will see in the events.jsonl that there are no events being captures/acted on by the extensions.

I have also tested this heavily in WSL and Local Docker. I have launched my exact same docker container/entrypoint in local docker while using exec -it and it does cause the entrypoints to load, however, as soon as no interactive terminal is present, extensions stop loading.

Expected behavior

Extensions should load.

Additional context

debug log level, Local Windows 11 (using Ubuntu and other Unix containers where copilot is running), tried in several different terminal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions