microsoft / microsoft/terminal

Expose an API for modifying components of Windows Terminal

Open
#16,568 0 comments 2 reactions 0 assignees View on GitHub
Issue-Scenario Needs-Tag-Fix Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

# Description of the new feature/enhancement

It would be really great to have some kind of programmatic way to manipulate Windows Terminal similar to the iTerm2 python https://iterm2.com/python-api/.

The scenario I specifically seeing great for this is having a command line tool that can be run and manipulate my WT environment to meet the needs of that tool or my preference layout. One case I see is running a CLI tool that will open up the side pane of WT and then run another executable in the pane so I can have a split screen experience when I am working in the terminal.

Although a lot of the functionality can be gained by using the `wt` command, it would be interesting to have a more robust programmatic way to utilize the API that (presumably) the `wt` command calls. It would also be more helpful for any future production level applications to keep track of versioning with WT and avoid potential breaking changes to the `wt` command.

Essentially if there can be an API that can do all the functionalities with `wt` in a more robust programmatic way that would be really awesome. Having at least the split pane

# Proposed technical implementation details (optional)

Perhaps as a C# package or a Python Library, either would be good.

I would be really interested to hear if anyone else would find this useful or have other interesting scenarios for this kind of feature?

Some related issues:
- https://github.com/microsoft/terminal/discussions/16490
- https://github.com/microsoft/terminal/discussions/12685

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing `wt` command and the related discussions 16490 and 12685 to define the API scope. Done would mean a robust programmatic interface for Windows Terminal functionality, including opening split panes and running executables, with versioning that avoids breaking changes to the command.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python
Domain
api, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.