# transmit-2-ssh-config

> Synchronize Transmit 5 SFTP favorites with your SSH config file

Latest version **3.0.2** (published 2026-10-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install transmit-2-ssh-config
pnpm add transmit-2-ssh-config
yarn add transmit-2-ssh-config
bun add transmit-2-ssh-config
```

Provides the command `t2sc`.

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 3.0.2 |
| Published | 2026-10-02 |
| First published | 2017-04-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Node | >=22 |
| Dependencies | 6 |
| Unpacked size | 20.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Author | Nicolas Lemoine |
| Maintainers | nlemoine |
| Keywords | transmit, ssh, ssh-config, sftp, macos, panic, cli, config, sync, automation |

## Links

- npm: https://www.npmjs.com/package/transmit-2-ssh-config
- Repository: https://github.com/nlemoine/transmit-2-ssh-config
- Homepage: https://github.com/nlemoine/transmit-2-ssh-config#readme
- Issues: https://github.com/nlemoine/transmit-2-ssh-config/issues
- npm.io page: https://npm.io/package/transmit-2-ssh-config

## Dependencies (6)

- [zod](https://npm.io/package/zod.md) ^4.6.5
- [ssh-config](https://npm.io/package/ssh-config.md) ^5.3.0
- [applescript](https://npm.io/package/applescript.md) ^1.0.0
- [bplist-parser](https://npm.io/package/bplist-parser.md) ^0.5.0
- [@clack/prompts](https://npm.io/package/@clack/prompts.md) ^1.8.1
- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) ^3.0.1

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 3.0.2 (latest) — 2026-10-02
- 3.0.1 — 2026-10-02
- 3.0.0 — 2025-11-10
- 2.1.0 — 2021-10-16
- 2.0.0 — 2021-10-08
- 1.2.1 — 2020-10-13
- 1.2.0 — 2020-09-08
- 1.1.3 — 2020-02-11
- 1.1.0 — 2020-01-23
- 1.0.1 — 2017-09-25
- 1.0.0 — 2017-04-20

## README

# Transmit favorites to SSH config

Synchronize [Transmit 5](https://panic.com/transmit/) SFTP favorites with your SSH config file.

[![asciicast](https://asciinema.org/a/ekHtrwdtRdDhNIAErBci9dcLT.png)](https://asciinema.org/a/ekHtrwdtRdDhNIAErBci9dcLT)

## Install

```bash
npm install -g transmit-2-ssh-config
```

## Usage

### CLI

```bash
t2sc
```

### Programmatic API

```javascript
import getTransmitFavorites from 'transmit-2-ssh-config';

const favorites = await getTransmitFavorites();
// Returns array of SFTP favorites with: Id, Host, HostName, User, Port, Protocol, RemotePath
```

## Notes

- Asks for permission to control Transmit on first run
- Host aliases include the favorite folder, e.g. `client/production`
- Only SFTP favorites are synchronized
- Creates `~/.ssh/config` and `~/.ssh/config.d/` if they don't exist
- Existing SSH config entries are preserved

## Caveats

Folders are read from Transmit's internal favorites store (`~/Library/Application Support/Transmit/Connections.transmitstore`), which is not a public format. If it can't be read, favorites are synchronized without their folder name.

## Tips

Enable SSH hostname completion by adding to `.bash_profile`:

```bash
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh
```

Quick access to SSH hosts: [Shuttle](http://fitztrev.github.io/shuttle/)

## License

MIT © Nicolas Lemoine

---
_Source: https://npm.io/package/transmit-2-ssh-config · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
