# creack/pty

PTY interface for Go

Repository: https://github.com/creack/pty
Canonical: https://ross.abutalabs.com/products/pty
Homepage: https://pkg.go.dev/github.com/creack/pty?tab=doc
Language: Go
License: MIT
License Family: permissive
Topics: pty, go, tty, cross-platform
Last push: 2026-06-01T14:21:14+00:00

## Health v2 (maintenance only)
Score: 61/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 85, release rhythm 8, longevity 100
- inputs: {"age_days": 5601, "days_push": 93, "days_rel": 671, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2078, forks 264 (observed 2026-08-28T04:06:11.358871+00:00)

## What it is
A Go library providing an interface to Unix pseudo-terminals (PTYs). It lets Go programs start commands like exec.Command attached to a PTY, enabling interactive terminal emulation and shell embedding.

## Use cases
- run a shell command attached to a pseudo-terminal in Go
- embed an interactive bash session in a Go application
- capture output of programs that require a TTY
- build a terminal emulator or SSH-like tool in Go
- resize and manage PTY file descriptors from Go
- test CLI tools that behave differently with a TTY

## When to choose
- you need to run or automate interactive terminal programs from Go
- you're building terminal multiplexers, SSH servers, or test harnesses in Go
- you want a small, stable, widely-adopted Go PTY library

## When to avoid
- you need Windows PTY/conpty support as a first-class feature
- you're not working in Go
- you only need simple non-interactive command execution without a TTY

## Facets
- artifact type: library
- maturity: stable
- function: developer-tools, cli, concurrency
- domain: developer-tools, operating-systems
- platform: bsd, go, cross-platform
- tags: pty, pseudo-terminal, tty, terminal, process-execution, unix, command-line, linux, macos

## Member repositories
- creack/pty (main) score 61

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:11.358871+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:56:06.264311+00:00, confidence not recorded.
  - readme: https://github.com/creack/pty (fetched 2026-08-28T04:06:11.358871+00:00, sha 69af146993cc)
  - homepage: https://pkg.go.dev/github.com/creack/pty?tab=doc (fetched 2026-08-29T10:36:14.874466+00:00, sha 59c30ce853a8)
  - site_page: https://pkg.go.dev/about (fetched 2026-08-29T10:36:14.877385+00:00, sha 757852027879)
  - site_page: https://go.dev/about (fetched 2026-08-29T10:36:14.879683+00:00, sha 8b6453863a90)
  - site_page: https://go.dev/project (fetched 2026-08-29T10:36:14.881783+00:00, sha d5ca00bb378b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
