microsoft / microsoft/dcp

Support running a process under the debugger and a PTY (terminal) simultaneously

Open
#189 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
189
Forks
24
Avg merge
2d 16h
Merged PRs (30d)
18

Description

## Summary

DCP cannot currently run a process under the debugger (`ExecutionType.IDE`) **and** attach it to a pseudo-terminal (PTY) at the same time. When a resource is launched under a PTY, traffic is bridged through a terminal-host bridge; routing the same resource to IDE/debugger execution bypasses that PTY wiring entirely, so the terminal never attaches.

## Aspire workaround

Aspire's `WithTerminal()` currently force-disables debugger/IDE execution for terminal-attached resources (they always run as a plain process) precisely because of this limitation. See microsoft/aspire#18308.

Specifically, `WithTerminal()` adds a disabled `SupportsDebuggingAnnotation` so the resource is never routed to `ExecutionType.IDE` inside a debug session.

## Ask

Add support in DCP for running a process under the debugger while it is also attached to a PTY. Once that ships, the Aspire workaround in `WithTerminal()` (and the supporting opt-out plumbing) can be removed so terminal-attached resources become debuggable again.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing DCP's terminal-host bridge and the routing for resources launched with ExecutionType.IDE, using the issue's PTY and debugger paths as entry points. Verify that a debugger-launched process remains attached to the PTY and that the terminal connection works alongside IDE execution; the Aspire WithTerminal workaround should no longer be needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.