# Install tcsh with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Enhanced, fully compatible version of the Berkeley C shell. Version 6.24.16 via Homebrew; verified 2026-06-14. Also installable with debian: sudo apt install tcsh.

## Install

```sh
sudo av install brew:tcsh
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tcsh
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tcsh
```

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

### Linux

- apk (92%):

```sh
sudo apk add tcsh
```

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

- Debian apt (92%):

```sh
sudo apt install tcsh
```

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

- dnf (92%):

```sh
sudo dnf install tcsh
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#tcsh
```

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

- pacman (92%):

```sh
sudo pacman -S tcsh
```

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

- zypper (92%):

```sh
sudo zypper install tcsh
```

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

## Package facts

- **Package key:** brew:tcsh
- **Package manager:** Homebrew
- **Version:** 6.24.16
- **Source summary:** Enhanced, fully compatible version of the Berkeley C shell
- **Homepage:** <https://www.tcsh.org/>
- **Last updated:** 2026-06-14T15:13:51+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- csh (alias)
- tcsh (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 6.24.16
## Project history and usage

tcsh is an enhanced, compatible Berkeley C shell used as both an interactive login shell and a shell script command processor. Its enduring package-manager identity is the C-shell lineage with command-line editing, completion, history, job control, and a long Unix portability trail.

### Project history

The official manual describes tcsh as an enhanced but compatible version of the Berkeley Unix csh. The source tree preserves the older csh lineage in sh.c comments: Bill Joy's C shell work at UC Berkeley is dated October 1978 and May 1980, Jim Kulp's work is dated April 1980, Ken Greer's filename recognition work is dated October 1983, and Karl Kleinpaste's prompt, directory-stack, and login-watch additions are dated to the 1983-1984 period.

The modern tcsh project is maintained through the tcsh.org site, an Astron bug tracker and mailing list, release tarballs, and a read-only GitHub mirror. The Fixes file shows continuing 21st-century maintenance, with releases through the 6.24 series and fixes for history handling, prompts, color support, portability, and character-set behavior.

### Adoption history

The supplied package metadata shows tcsh packaged across Homebrew, Debian, Ubuntu, Fedora/DNF, Arch, Alpine, MacPorts, Nix, and openSUSE. That breadth matches its status as a long-lived Unix shell: no longer the trend-setting interactive shell for most new users, but still packaged wherever compatibility with csh scripts, user dotfiles, or institutional shell habits matters.

### How it is used

The manual presents tcsh as usable both for interactive login sessions and shell script processing. Package users install it for C-shell compatibility plus interactive features such as programmable word completion, command-line editing, spelling correction, history substitution, job control, and the familiar csh-style syntax.

### Why package nerds care

tcsh is significant because it is not just another CLI package; it is a login shell with system integration points, startup files, and decades of compatibility expectations. In package catalogs it carries historical Unix behavior forward while remaining actively maintained enough for modern build systems and distributions.

### Timeline

- 1978-1980: Source comments date Bill Joy's C shell work at UC Berkeley.
- 1980: Jim Kulp's C shell work is noted in sh.c.
- 1983: Ken Greer's filename recognition work is noted in sh.c.
- 1983-1984: Karl Kleinpaste's prompt, directory-stack, and login-watch additions are noted in sh.c.
- 2024-05-17: tcsh.org home page content last updated.
- 2025-07-09: Fixes file records tcsh 6.24.16.

### Related projects

- Berkeley csh is the compatibility baseline; tcsh.org points users to release tarballs, the tcsh mailing list, the Astron bug tracker, and the read-only GitHub source mirror.

### Sources

- current_curation.config-file-location
- <https://github.com/tcsh-org/tcsh#readme>
- <https://raw.githubusercontent.com/tcsh-org/tcsh/master/Fixes>
- <https://raw.githubusercontent.com/tcsh-org/tcsh/master/sh.c>
- <https://raw.githubusercontent.com/tcsh-org/tcsh/master/tcsh.man.in>
- <https://www.tcsh.org/>
- input source_facts.package-manager


## 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: /etc/csh.cshrc, /etc/csh.login, ~/.tcshrc, ~/.cshrc, ~/.login, /etc/csh.logout, ~/.logout
## Other Package-Manager Records

- Debian apt - tcsh - 6.24.13-2: normalized package name match | Debian stable package indexes: tcsh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | TENEX C Shell, an enhanced version of Berkeley csh | https://www.tcsh.org/
- Nix - tcsh: normalized package name match | nixpkgs package indexes: pkgs/by-name/tc/tcsh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - tcsh - 6.24.10-4build1: normalized package name match | Ubuntu 24.04 LTS package indexes: tcsh from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | TENEX C Shell, an enhanced version of Berkeley csh | https://www.tcsh.org/
- apk - tcsh - 6.24.16-r0: normalized package name match | Alpine Linux edge package indexes: tcsh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | extended C-shell | https://github.com/tcsh-org/tcsh
- apk - tcsh-doc - 6.24.16-r0: normalized package name match | Alpine Linux edge package indexes: tcsh-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | extended C-shell (documentation) | https://github.com/tcsh-org/tcsh
- dnf - tcsh - 6.24.16-2.fc45: normalized package name match | Fedora Rawhide package metadata: tcsh from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | An enhanced version of csh, the C shell | http://www.tcsh.org/
- pacman - tcsh - 6.24.16-1: normalized package name match | Arch Linux sync databases: tcsh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Enhanced version of the Berkeley C shell | https://www.tcsh.org/
- zypper - tcsh - 6.24.16-1.5: normalized package name match | openSUSE Tumbleweed package metadata: tcsh from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | The C SHell | https://www.tcsh.org/
- zypper - tcsh-lang - 6.24.16-1.5: normalized package name match | openSUSE Tumbleweed package metadata: tcsh-lang from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Translations for package tcsh | https://www.tcsh.org/
- MacPorts - tcsh: normalized package name match | MacPorts ports tree: shells/tcsh/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Debian apt - csh - 20240808-2: installed executable or alias match | Debian stable package indexes: csh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Shell with C-like syntax | https://www.openbsd.org/cgi-bin/cvsweb/src/bin/csh/
- Ubuntu apt - csh - 20230828-1: installed executable or alias match | Ubuntu 24.04 LTS package indexes: csh from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Shell with C-like syntax | https://www.openbsd.org/cgi-bin/cvsweb/src/bin/csh/


## Combined YAML source

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