# Heads up! New release of \`flyctl\` includes \`flyctl agent\`

**URL:** <https://community.fly.io/t/heads-up-new-release-of-flyctl-includes-flyctl-agent/1913>\
**Category:** General\
**Created:** [July 13, 2021, 10:29pm UTC](https://community.fly.io/t/heads-up-new-release-of-flyctl-includes-flyctl-agent/1913 "2021-07-13T22:29:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![thomas](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/thomas/32/40188_2.png) [@thomas](https://community.fly.io/u/thomas)\
**Post date:** [July 13, 2021, 10:29pm UTC](https://community.fly.io/t/heads-up-new-release-of-flyctl-includes-flyctl-agent/1913/1 "2021-07-13T22:29:35Z")

</div>

tldr: in current `flyctl`, as long as you’re not on Windows, you should be able to SSH to multiple hosts (or do anything else that involves user-mode WireGuard) just fine. Previously, a new run of `flyctl ssh console` would kill any previously running `flyctl ssh console`s, because that command builds a new WireGuard tunnel, and you can only have one of those at a time (they own an IPv6 address). Now, though, when you run `ssh console`, `flyctl` spins off an agent parked on a Unix socket that manages the WireGuard connection long-term.

Some background here:

> [@flyctl agent](https://community.fly.io/t/flyctl-agent/1638):
>
> A quick heads up about how I’m restructuring flyctl. We currently have a big UX problem with user-mode WireGuard, which is that you can only have one WireGuard connection at a time (each connection is separately IPv6-addressed), and we can’t reasonably make new WireGuard connections for every run of flyctl. What happens now is, if you flyctl ssh into an instance in one window, and then do the same thing in another window, you’ll kill the first session when your second steals its IPv6 address. I…

We’ve been using this internally for a bunch of weeks now, and it hasn’t caused any drama.

The agent is only launched if you actually use `flyctl ssh console` (or any future feature that uses user-mode WireGuard). You can kill the agent any time, either by literally killing it, or by running `flyctl agent stop`.

If you’re on Windows, where we haven’t really sunk any time in yet to figure out how to replicate this setup, `flyctl ssh console` works the same way it always has.

---

<div class="post-metadata">

**Author:** ![utf9k](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/utf9k/32/40133_2.png) [@utf9k](https://community.fly.io/u/utf9k)\
**Post date:** [July 14, 2021, 1:10am UTC](https://community.fly.io/t/heads-up-new-release-of-flyctl-includes-flyctl-agent/1913/2 "2021-07-14T01:10:23Z")

</div>

This would have been useful for a certain wireguard debugging test 😩 Very cool to see! I’ve run into this frustration when comparing things between apps quite a few times.
