# Install tio with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

Simple TTY terminal I/O application. Version 3.9 via Homebrew; verified 2026-05-03.

## Install

```sh
sudo av install brew:tio
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tio
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tio
```

  Evidence: MacPorts ports tree: comms/tio/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add tio
```

  Evidence: Alpine Linux edge package indexes: tio from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install tio
```

  Evidence: Debian stable package indexes: tio from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install tio
```

  Evidence: Fedora Rawhide package metadata: tio from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#tio
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ti/tio/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install tio
```

  Evidence: openSUSE Tumbleweed package metadata: tio from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:tio
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tio>
- **Version:** 3.9
- **Source summary:** Simple TTY terminal I/O application
- **Homepage:** <https://tio.github.io>
- **Repository:** <https://github.com/tio/tio>
- **Upstream docs:** <https://github.com/tio/tio#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/tio/tio/releases/download/v3.9/tio-3.9.tar.xz>
- **Last updated:** 2026-05-03T15:38:16+09:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- tio (cli)
- tio (alias)

## Dependencies

- glib
- lua

## Build dependencies

- meson
- ninja
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.9
- Package-manager updated: 2026-05-03
- Local data: ok
- Upstream repository: https://github.com/tio/tio
- info: No cached GitHub release or tag data was available.
## Project history and usage

tio is a serial TTY terminal I/O tool built for straightforward interaction with serial devices. Its niche is embedded-development and hardware-hacking workflows where a user wants a small command-line serial console that behaves well inside terminal multiplexers.

### Project history

The tio README states the motivation directly: it was created as a simpler serial-device tool with less focus on classic terminal or modem features and more focus on embedded developers and hackers. It was originally an alternative to GNU screen for connecting to serial devices while working inside tmux.

The GitHub repository was created in September 2014, and the project has grown from a simple serial connection utility into a featureful serial-console tool. The README now documents automatic serial-port detection and reconnect, topology IDs, non-standard baud rates, mark and space parity, XMODEM/YMODEM upload, RS-485 mode, line and hex modes, timestamping, logging, socket redirection, piping, shell-command redirection, Bash completion, and Lua scripting.

### Adoption history

tio's adoption is visible through broad distro packaging. The input metadata lists packages for apk, Homebrew, Debian, Fedora/DNF, MacPorts, Nix, Ubuntu, and openSUSE/zypper, which matches its role as a small systems utility rather than a language-ecosystem package.

The project is especially attractive to package-manager users because it replaces ad hoc use of screen, minicom, picocom, or custom serial scripts with one documented binary and a man page. The README's examples focus on common package-nerd hardware tasks: connecting to /dev/ttyUSB0, listing serial devices, preferring /dev/serial/by-id paths, reconnecting after unplug/replug, and using TID values when stable by-id paths are unavailable.

### How it is used

The common invocation is simply tio /dev/ttyUSB0, using defaults such as 115200 8n1. Users can add options for baud rate, parity, flow control, timestamping, logging, character mapping, or automatic connection behavior.

More advanced usage includes configuration profiles, include files for profile organization, line-mode history/editing, Lua automation, x/y-modem file transfers, and redirecting a serial session through a socket or shell command.

### Why package nerds care

tio is a classic small-tool package: one binary, clear man page, no account or cloud service, and immediate usefulness after install. It is significant because serial consoles remain a daily need for embedded boards, dev kits, bootloaders, firmware bring-up, and hardware debugging, while modern terminals and tmux are otherwise inconvenient with older serial-console tools.

### Timeline

- 2014-09-27: The tio GitHub repository was created.
- 2024-06-29: tio v3.5 added configuration include support and improved device listing behavior.
- 2024-08-31: tio v3.7 continued Lua API and timestamp work.
- 2025-04-13: tio v3.9 was released with timestamp parsing fixes and documentation updates.

### Related projects

- GNU screen is the comparison named by the README as tio's original alternative target.
- tmux is part of the original usage motivation because tio was designed to pair well with terminal multiplexers.
- minicom and picocom are adjacent serial-console tools in the same package-manager niche.

### Sources

- <https://api.github.com/repos/tio/tio>
- <https://github.com/tio/tio#readme>
- <https://raw.githubusercontent.com/tio/tio/master/NEWS>
- <https://raw.githubusercontent.com/tio/tio/master/man/tio.1.txt>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $XDG_CONFIG_HOME/tio/config, ~/.config/tio/config, ~/.tioconfig
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tio
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - tio - 3.9-1: normalized package name match | Debian stable package indexes: tio from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | simple TTY terminal I/O application | https://tio.github.io/
- Nix - tio: normalized package name match | nixpkgs package indexes: pkgs/by-name/ti/tio/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - tio - 2.7-1: normalized package name match | Ubuntu 24.04 LTS package indexes: tio from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | simple TTY terminal I/O application | https://tio.github.io/
- apk - tio - 3.9-r0: normalized package name match | Alpine Linux edge package indexes: tio from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple TTY Terminal I/O Application | https://github.com/tio/tio
- apk - tio-bash-completion - 3.9-r0: normalized package name match | Alpine Linux edge package indexes: tio-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for tio | https://github.com/tio/tio
- apk - tio-doc - 3.9-r0: normalized package name match | Alpine Linux edge package indexes: tio-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Simple TTY Terminal I/O Application (documentation) | https://github.com/tio/tio
- dnf - tio - 3.9-5.fc45: normalized package name match | Fedora Rawhide package metadata: tio from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Simple TTY terminal I/O application | https://tio.github.io/
- zypper - tio - 3.9-1.3: normalized package name match | openSUSE Tumbleweed package metadata: tio from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Simple TTY terminal I/O application | https://tio.github.io/
- zypper - tio-bash-completion - 3.9-1.3: normalized package name match | openSUSE Tumbleweed package metadata: tio-bash-completion from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Bash Completion for tio | https://tio.github.io/
- MacPorts - tio: normalized package name match | MacPorts ports tree: comms/tio/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [lua](https://www.automicvault.com/pkg/brew/lua/) - Runtime dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [picocom](https://www.automicvault.com/pkg/brew/picocom/) - Shares av.db curated category or tags: cli, embedded, serial, system, terminal.
- [cocot](https://www.automicvault.com/pkg/brew/cocot/) - Shares av.db curated category or tags: cli, system, terminal, tty.
- [abduco](https://www.automicvault.com/pkg/brew/abduco/) - Shares av.db curated category or tags: cli, system, terminal.
- [cmatrix](https://www.automicvault.com/pkg/brew/cmatrix/) - Shares av.db curated category or tags: cli, system, terminal.
- [colortail](https://www.automicvault.com/pkg/brew/colortail/) - Shares av.db curated category or tags: cli, system, terminal.
- [dtach](https://www.automicvault.com/pkg/brew/dtach/) - Shares av.db curated category or tags: cli, system, terminal.
- [gtop](https://www.automicvault.com/pkg/brew/gtop/) - Shares av.db curated category or tags: cli, system, terminal.
- [hwatch](https://www.automicvault.com/pkg/brew/hwatch/) - Shares av.db curated category or tags: cli, system, terminal.
- [bootterm](https://www.automicvault.com/pkg/brew/bootterm/) - Local package facts share a topical domain. Shared terms: cli, embedded, serial, simple, system.

## Combined YAML source

View the package source record on GitHub. [combined/tio.yml](https://github.com/automic-vault/db/blob/main/combined/tio.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
