---
title: "signout"
description: "catcli signout — remove the sign-in stored by catcli signin and end it on CAT Portal."
url: "https://docs.justcat.it/reference/cat-cli/signout/"
---
# signout


## Synopsis

```
catcli signout [-l <level>]
```

## Options

| Short | Long | Value | Meaning |
|-------|------|-------|---------|
| `-l` | `--loggingLevel` | level | `None` (default), `Information`, `Debug`, … — see [Logging](https://docs.justcat.it/reference/cat-cli/introduction/#logging "Logging"). |

## What it does

Revokes the personal access token that [`catcli signin`](https://docs.justcat.it/reference/cat-cli/signin/ "signin") stored, on CAT Portal, and deletes `.catportaltoken` (`%APPDATA%\CAT\.catportaltoken` on Windows, `~/.config/CAT/.catportaltoken` on Linux and macOS). The next verb that needs sign-in finds nobody signed in.

The file is deleted also when CAT Portal cannot be reached: you asked to be signed out of this machine. The token then stays listed on CAT Portal, and the command says where to revoke it: under **Developer → Personal access tokens**, it is the one named `CAT CLI, signed in <date and time> UTC`.

While `CAT_PORTAL_TOKEN` is set, `signout` is refused and touches nothing: CAT signs in with the variable, so removing the stored sign-in would not sign you out. Remove the variable first. A token in the variable is never revoked by `signout`.

`signout` works with a license key too, so a sign-in left over from before the key can be removed. It does not run the sign-in and plan check.

## Output

| Situation | What it prints | Exit code |
|---|---|---|
| Signed out, the token is ended on CAT Portal | `Signed out you@example.com. The sign-in was also ended on CAT Portal.` | `0` |
| Signed out, CAT Portal cannot be reached | `Signed out you@example.com on this machine.`, then on standard error that the token is still listed on CAT Portal and where to revoke it | `0` |
| Signed out, the stored sign-in could not be read | `Signed out on this machine.`, then on standard error that the sign-in was not ended on CAT Portal and where to revoke it | `0` |
| Nothing is stored | `No sign-in is stored on this machine.` | `0` |
| `CAT_PORTAL_TOKEN` is set | `CAT_PORTAL_TOKEN is set, and CAT signs in with it. catcli signout cannot sign you out while it is set.` and `Remove the variable first.`, with `The sign-in stored on this machine was left in place.` when there is one, on standard error | `1` |

## Exit code

`0` when nothing is stored on this machine any more. `1` when `CAT_PORTAL_TOKEN` is set, or the file could not be deleted. See [Exit codes](https://docs.justcat.it/reference/cat-cli/introduction/#exit-codes "Exit codes").

## Examples

```
catcli signout
```

## Related

- [signin](https://docs.justcat.it/reference/cat-cli/signin/ "signin") — sign in, and see who is signed in.
- [Sign-in, plans and the license key](https://docs.justcat.it/reference/cat-cli/introduction/#sign-in-plans-and-the-license-key "Sign-in, plans and the license key").

