# TerminalLaunchOptions

- Kind: `class`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.6.0`
- Namespace: `Aspire.Hosting.ApplicationModel`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62/src/Aspire.Hosting/ApplicationModel/TerminalLaunchOptions.cs)

Describes the process, initial grid, and placement of a terminal created by [TerminalService](/reference/api/csharp/aspire.hosting/terminalservice.md).

## Definition

```csharp
namespace Aspire.Hosting.ApplicationModel;

public sealed class TerminalLaunchOptions
{
    // ...
}
```

## Constructors

- [TerminalLaunchOptions](/reference/api/csharp/aspire.hosting/terminallaunchoptions/constructors.md#constructor)

## Properties

- [Arguments](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#arguments) : `IList<string>` `get; set` -- Gets or sets the arguments passed to [TerminalLaunchOptions.Executable](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#executable).
- [Columns](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#columns) : `int` `get; set` -- Gets or sets the initial number of columns. Defaults to 80.
- [EnvironmentVariables](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#environmentvariables) : `IDictionary<string, string>` `get` -- Gets environment variables applied to the process on top of the AppHost's own environment.
- [Executable](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#executable) : `string` `get; set` -- Gets or sets the executable to run. Resolved against `PATH` when not fully qualified.
- [Placement](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#placement) : [TerminalPlacement](/reference/api/csharp/aspire.hosting/terminalplacement.md) `get; set` -- Gets or sets where the terminal is displayed. Defaults to [TerminalPlacement.Dock](/reference/api/csharp/aspire.hosting/terminalplacement/fields.md).
- [Rows](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#rows) : `int` `get; set` -- Gets or sets the initial number of rows. Defaults to 24.
- [Title](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#title) : `string` `get; set` -- Gets or sets the title shown on the terminal's dock tab, and in the title bar when the terminal is detached into its own window.
- [WorkingDirectory](/reference/api/csharp/aspire.hosting/terminallaunchoptions/properties.md#workingdirectory) : `string?` `get; set` -- Gets or sets the working directory the process starts in. Defaults to the AppHost's working directory.

## Examples

```csharp
var options = new TerminalLaunchOptions
{
    Title = "Container shell",
    Executable = "docker",
    Arguments = ["exec", "-it", containerName, "/bin/sh"]
};
```
