## TL;DR
Add `--auto-approve` to the deploy command in CI: `cdktf deploy --auto-approve`. The interactive approval prompt needs a TTY, which pipeline agents do not provide.

## The error
```
Error: Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
```

## Fix it
1. In your pipeline definition, change `cdktf deploy` to `cdktf deploy --auto-approve` (add the stack name too for multi-stack projects: `cdktf deploy MyStack --auto-approve`).
2. Re-run the pipeline and confirm deploy proceeds past the approval step.

Expected result: deploy plans and applies without trying to read from stdin.

## When to use this
- `cdktf deploy` works on your machine but fails in Azure DevOps, GitHub Actions, or any headless agent with the raw-mode error
- Any `cdktf` command that prompts for confirmation in an environment without a TTY

## When NOT to use this
- The error appears on your local terminal (check that stdin is actually a TTY; something else is wrong)
- You want a human to review the plan in CI (split into `cdktf diff` for review and a gated `deploy --auto-approve`)

## Root cause
The CDKTF CLI renders its interactive UI with Ink (React for CLIs), which puts stdin into raw mode to read keypresses. CI agents run without a TTY, so raw mode is unsupported and Ink throws. `--auto-approve` skips the confirmation prompt entirely, so stdin is never touched.

## Edge cases
- `cdktf destroy` has the same prompt; it also accepts `--auto-approve`.
- If your pipeline wraps cdktf in Docker, allocate no TTY (`docker run` without `-t` is fine once --auto-approve is set).