# Install libtecla with Homebrew, apt, pacman

Command-line editing facilities similar to the tcsh shell. Version 1.6.3 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:libtecla
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libtecla
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install libtecla-dev
```

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

- pacman (92%):

```sh
sudo pacman -S libtecla
```

  Evidence: Arch Linux sync databases: libtecla from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:libtecla
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libtecla>
- **Version:** 1.6.3
- **Source summary:** Command-line editing facilities similar to the tcsh shell
- **Homepage:** <https://sites.astro.caltech.edu/~mcs/tecla/>
- **Upstream docs:** <https://sites.astro.caltech.edu/~mcs/tecla>
- **License:** ICU
- **Source archive:** <https://sites.astro.caltech.edu/~mcs/tecla/libtecla-1.6.3.tar.gz>
- **Last updated:** 2026-06-22T14:05:23-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- enhance (cli)
- enhance (alias)

## Build dependencies

- automake

## Uses from macOS

- ncurses

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.3
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://sites.astro.caltech.edu/~mcs/tecla/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libtecla is Martin Shepherd's interactive command-line input library for Unix-like programs. It provides tcsh-like editing, command history, tab completion, filename expansion, and the enhance wrapper for adding line editing to third-party programs.

### Project history

The official release notes identify version 1.1j as the initial public release on freshmeat.org. The libtecla man page names Martin Shepherd as author and explains the name: in Spanish, tecla means a keyboard key, fitting a library centered on keyboard input.

The project evolved through practical terminal features rather than a large ecosystem. Version 1.2 added path lookup and completion, 1.2.3 introduced an autoconf configure script, 1.3.0 added optional vi editing mode, 1.4.0 expanded history, configuration, signals, and the enhance program, and 1.5.0 added non-blocking I/O and event-loop integration.

### Adoption history

libtecla's adoption has been modest but durable. It appears in Homebrew, Debian, Ubuntu, and Arch-family packaging in the input metadata, mostly for C programs that want readline-like behavior under a permissive license and with a small dependency footprint.

### How it is used

Programs link with libtecla and call its interactive line-input API to get emacs-like default bindings, optional vi mode, command history, tab completion, filename expansion, and per-user customization through ~/.teclarc.

The enhance utility is the package's user-visible trick: it can add command-line editing to some third-party interactive programs without those programs being linked against libtecla.

### Why package nerds care

libtecla sits in the same mental shelf as readline and libedit, but as a smaller permissively licensed option. Package maintainers care because it offers command-line ergonomics without making every consumer inherit readline's licensing and dependency choices.

Its significance is niche: valuable for terminal-native Unix software, not a broad application platform.

### Timeline

- 1.1j: Initial public release on freshmeat.org.
- 1.2: Adds lookup and completion of filenames in Unix-style paths.
- 1.2.3: Adds an autoconf configure script and shared-library support on several Unix systems.
- 1.3.0: Adds optional vi command-line editing mode.
- 1.4.0: Adds history save/load, richer configuration, signal handling, 8-bit clean input, and the enhance program.
- 1.5.0: Adds non-blocking I/O and event-loop support.
- 2014: The upstream page lists version 1.6.3 and is signed by Martin Shepherd on November 9, 2014.

### Related projects

- GNU readline and BSD libedit are the closest related command-line editing libraries. tcsh, vi, and emacs provide the interaction styles that libtecla imitates or supports.

### Sources

- <https://sites.astro.caltech.edu/~mcs/tecla/>
- <https://sites.astro.caltech.edu/~mcs/tecla/enhance.html>
- <https://sites.astro.caltech.edu/~mcs/tecla/libtecla.html>
- <https://sites.astro.caltech.edu/~mcs/tecla/release.html>
- <https://sites.astro.caltech.edu/~mcs/tecla/tecla.html>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## 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: ~/.teclarc
## Source Database Details

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

## Other Package-Manager Records

- Debian apt - libtecla-dev - 1.6.3-3.1: normalized package name match | Debian stable package indexes: libtecla-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | interactive command line editing facilities (development) | https://www.astro.caltech.edu/~mcs/tecla/
- Debian apt - libtecla1t64 - 1.6.3-3.1: normalized package name match | Debian stable package indexes: libtecla1t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | interactive command line editing facilities | https://www.astro.caltech.edu/~mcs/tecla/
- Ubuntu apt - libtecla-dev - 1.6.3-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libtecla-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | interactive command line editing facilities (development) | https://www.astro.caltech.edu/~mcs/tecla/
- Ubuntu apt - libtecla1t64 - 1.6.3-3.1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libtecla1t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | interactive command line editing facilities | https://www.astro.caltech.edu/~mcs/tecla/
- pacman - libtecla - 1.6.3-2: normalized package name match | Arch Linux sync databases: libtecla from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Interactive command line editing facilities | http://www.astro.caltech.edu/~mcs/tecla/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [libsql](https://www.automicvault.com/pkg/brew/libsql/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libstatgrab](https://www.automicvault.com/pkg/brew/libstatgrab/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libstxxl](https://www.automicvault.com/pkg/brew/libstxxl/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libsvm](https://www.automicvault.com/pkg/brew/libsvm/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libtar](https://www.automicvault.com/pkg/brew/libtar/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libtasn1](https://www.automicvault.com/pkg/brew/libtasn1/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libtensorflow](https://www.automicvault.com/pkg/brew/libtensorflow/) - Shares av.db curated category or tags: cli, not-completed, other.
- [libtiff](https://www.automicvault.com/pkg/brew/libtiff/) - Shares av.db curated category or tags: cli, not-completed, other.

## Combined YAML source

View the package source record on GitHub. [combined/libtecla.yml](https://github.com/automic-vault/db/blob/main/combined/libtecla.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
