---
title: Terminal
---

# Terminal

<a href="https://github.com/remix-run/remix/blob/remix@3.0.0-alpha.6/packages/terminal/src/lib/terminal.ts#L53" target="_blank">View Source</a>

## Summary

Testable abstraction around terminal input, output, styles, and controls.

## Signature

```ts
interface Terminal {
  env: TerminalEnvironment;
  isInteractive: boolean;
  isTTY: boolean;
  stderr: TerminalOutputStream;
  stdin: TerminalInputStream;
  stdout: TerminalOutputStream;
  styles: TerminalStyles;
  clearLine(): void;
  cursorTo(column: number, row: number): void;
  eraseDown(): void;
  error(value: string): void;
  errorLine(value: string): void;
  hideCursor(): void;
  moveCursor(columns: number, rows: number): void;
  showCursor(): void;
  write(value: string): void;
  writeLine(value: string): void;
}

```

## Properties

### env

Environment variables used by this terminal.

### isInteractive

Whether both input and output streams are attached to TTYs.

### isTTY

Whether the output stream is attached to a TTY.

### stderr

Output stream used for error output.

### stdin

Input stream used for interactivity detection.

### stdout

Output stream used for normal output.

### styles

Style helpers configured for this terminal's output stream.

## Methods

### clearLine(): void

Clears the current output line.

### cursorTo(column: number, row: number): void

Moves the output cursor to a zero-based column and optional row.

#### column

Zero-based output column.

#### row

Optional zero-based output row.

### eraseDown(): void

Erases output from the cursor through the end of the terminal.

### error(value: string): void

Writes a value to the error output stream.

#### value

Text to write.

### errorLine(value: string): void

Writes a value and trailing newline to the error output stream.

#### value

Text to write (defaults to an empty string).

### hideCursor(): void

Hides the terminal cursor.

### moveCursor(columns: number, rows: number): void

Moves the output cursor by relative column and row offsets.

#### columns

Relative column offset.

#### rows

Relative row offset.

### showCursor(): void

Shows the terminal cursor.

### write(value: string): void

Writes a value to the normal output stream.

#### value

Text to write.

### writeLine(value: string): void

Writes a value and trailing newline to the normal output stream.

#### value

Text to write (defaults to an empty string).