How can I run terminal commands that the user has access to from inside my snap app?

Hello, I am making a golang CLI tool for a cloud-based secrets manager I am developing called keyspot. You can see more about how it works at My tool needs to be able to run commands that the user has access to like so:

$ keyspot run "npm run dev"

Where “npm run dev” is a command the user will have access to.

Unfortunately, because snap apps run from an isolated environment with a separate PATH than the user’s, my app is unable to execute the user’s command. Is there any way around this? Also, my snapcraft.yaml looks like this in case it matters:

name: keyspot # you probably want to 'snapcraft register <name>'
base: core20 # the base snap is the execution environment for this snap
version: '1.0.0' # just for humans, typically '1.2+git' or '1.3.2'
summary: Portable secrets manager for that stores secrets in one place. # 79 char long summary
description: KeySpot is a secrets manager for storing and accessing secrets from one centralized location. Directly inject secrets into your environment and never use .env files again. All secrets are also stored and accessible from our web app at

grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots

    command: bin/cli-tool

    plugin: go
    source: .
    go-channel: stable

    interface: network