# Install libtecla with Homebrew, pacman, apt

Command-line editing facilities similar to the tcsh shell. Version 1.6.3 via Homebrew; verified from local package data. Also installable with debian: sudo apt install libtecla-dev.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libtecla
```

  Evidence: local Homebrew formula metadata

### Linux

- 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

- 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

## Package facts

- **Package key:** brew:libtecla
- **Package manager:** Homebrew
- **Version:** 1.6.3
- **Source summary:** Command-line editing facilities similar to the tcsh shell
- **Homepage:** <https://sites.astro.caltech.edu/~mcs/tecla/>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- enhance (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.6.3
## 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
## 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/


## Combined YAML source

View the package source record on GitHub. [combined/libtecla.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libtecla.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
