> For the complete documentation index, see [llms.txt](https://docs.gotempest.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gotempest.app/connect-to-servers/launch-tempest-from-url.md).

# Launch Tempest from URLs and External Tools

Tempest can be opened by other applications through OS-level links and command-line URLs. This is useful for internal portals, bastion clients, password managers, scripts, and compatibility shims that want to open a new SSH tab in Tempest.

## Registered Tempest URL scheme

Tempest registers the `tempest://` URL scheme with the operating system.

Today, the stable public `tempest://` route is used for collaboration links:

```
tempest://collaborate/<room-id>#<link-fragment>
```

Opening that URL brings Tempest to the foreground and joins the collaboration room.

## Launch an SSH tab

Desktop builds also support launching an ephemeral SSH connection by passing an SSH URL to Tempest:

```
ssh://user:password@host:22
```

Examples:

```bash
Tempest.exe --url ssh://alice:secret@127.0.0.1:2222
open -a Tempest --args --url 'ssh://alice:secret@127.0.0.1:2222'
tempest-desktop --url 'ssh://alice:secret@127.0.0.1:2222'
```

Tempest parses:

| Field    | Source                 |
| -------- | ---------------------- |
| Host     | URL hostname           |
| Port     | URL port, default `22` |
| Username | URL username           |
| Password | URL password           |

The connection is created as an ephemeral SSH tab. It is not saved to your encrypted vault unless you explicitly save it later.

## Compatibility with bastion clients

Some bastion systems launch a known SSH client such as Xshell, PuTTY, SecureCRT, or MobaXterm instead of a generic URL handler. In that case, use a small compatibility shim that accepts the third-party client's command-line format and forwards a normalized SSH URL to Tempest.

For example, an Xshell-style launch:

```
Xshell.exe -url ssh://user:password@127.0.0.1:2222 -newtab server-name
```

Can be converted by the shim into:

```
Tempest.exe --url ssh://user:password@127.0.0.1:2222
```

Common formats to normalize:

| Client    | Typical SSH launch format                                      |
| --------- | -------------------------------------------------------------- |
| Xshell    | `-url ssh://user:password@host:port -newtab title`             |
| PuTTY     | `-ssh -l user -pw password -P port host`                       |
| SecureCRT | `/SSH2 /AUTH password /L user /PASSWORD password /P port host` |

Tempest itself should receive the normalized SSH URL through `--url`.

## Security notes

Putting passwords in URLs or command-line arguments can expose them to shell history, process listings, crash logs, and other local tooling. Prefer short-lived bastion credentials or one-time passwords when integrating through URLs.

For long-lived credentials, save the host in Tempest and store secrets in the encrypted vault or operating-system credential store instead.

## See also

* [Where Tempest Stores Your Credentials](/account-and-privacy/where-tempest-stores-credentials.md)
* [End-to-End Encryption](/account-and-privacy/end-to-end-encryption.md)
* [SSH Jump Host & Bastion Chaining](/connect-to-servers/ssh-jump-host-bastion-chaining.md)
