> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetgullak.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing your first agent

> Get AssetGullak running on your first device, in one command.

The agent is the small background program that reports a device's health, software, and status back to your dashboard, and lets you run remote actions on it later. This page covers installing it on **one machine** to get started — for rolling it out to dozens of machines at once, see [Deploying to a network](/getting-started/deploying-to-a-network) instead.

## Before you start

You'll need:

* **Administrator (Windows) or root/sudo (macOS, Linux) access** on the device — installing a background service requires it on every platform.
* **Your company's enrollment key** — found on the **Download Agent** page in-app (**Devices → Add → Download agent**). It's pre-filled into the install command shown there, so you won't usually need to copy it manually.

## Install it

Go to **Devices → Add → Download agent** in your dashboard. The command shown there already has your real enrollment key baked in — copy it exactly as shown and paste it into a terminal (macOS/Linux) or PowerShell (Windows) on the target device.

The shape of that command looks like this:

<Tabs>
  <Tab title="macOS / Linux">
    ```bash theme={null}
    curl -sSL https://get.assetgullak.com/install.sh | sh -s -- --key=<your-enrollment-key>
    ```

    Run this in a regular terminal — no need to type `sudo` in front of it. The script asks for elevated access only for the one step that actually needs it (registering the system service), and explains why before it does.
  </Tab>

  <Tab title="Windows">
    ```powershell theme={null}
    $env:ASSETGULLAK_KEY = "<your-enrollment-key>"
    irm https://get.assetgullak.com/install.ps1 | iex
    ```

    Run both lines together in PowerShell — the key is set as an environment variable first because Windows' `irm | iex` pattern has no clean way to pass it as an argument directly. A UAC prompt will appear partway through; approve it to continue.
  </Tab>
</Tabs>

<Note>
  Prefer not to pipe a script straight into a shell without reading it first? That's a reasonable instinct — the scripts are plain text, viewable at `https://get.assetgullak.com/install.sh` and `.../install.ps1` before you run them. Everything they do is described at the top of each file.
</Note>

### What that command actually does

1. Asks AssetGullak for the latest agent version for your OS, and downloads it
2. Verifies its checksum — if the download were corrupted or tampered with in transit, it stops here rather than installing something unverified
3. Installs it as a system service (Windows Service, launchd daemon, or systemd unit, depending on your OS) so it starts automatically on boot
4. Registers the device with your company using the enrollment key — the key is used once and then discarded; after that, the device has its own permanent identity

You should see it appear on your **Devices** page within a few seconds.

<Warning>
  The agent binary isn't code-signed yet, so Windows SmartScreen or your antivirus may show a warning the first time it runs. This is expected for now — the file is safe. If your antivirus blocks it outright rather than just warning, you may need to add an exclusion for the AssetGullak install folder.
</Warning>

## Prefer a manual download?

The same **Download Agent** page has a **Manual download** tab — a direct binary download plus a copy-pasteable install command, if you'd rather not pipe a script into a shell at all, or your security policy requires it. Functionally identical to the one-line install; just an extra step.

## Confirming it worked

Head to **Devices** — the new device should appear, status **Online**, within about 10 seconds of the install finishing. If it doesn't show up after a minute or two, check that the device has outbound internet access; the agent needs to reach your AssetGullak backend to register.

## Uninstalling

<Tabs>
  <Tab title="Windows">
    Run as Administrator:

    ```powershell theme={null}
    .\AssetGullak.exe --uninstall
    ```
  </Tab>

  <Tab title="macOS / Linux">
    ```bash theme={null}
    sudo ./AssetGullak --uninstall
    ```
  </Tab>
</Tabs>

This removes the background service. The device's record stays in your dashboard (shown as offline) — if you want it gone entirely, delete it from the Devices page separately.

## Good to know

<AccordionGroup>
  <Accordion title="Does the agent update itself?">
    Yes — when an admin pushes a new version from the dashboard, the agent downloads it, verifies it, and restarts automatically. You don't need to reinstall anything manually. The device briefly shows offline for a few seconds during the restart.
  </Accordion>

  <Accordion title="What happens if the device loses network connectivity?">
    The agent keeps running and retries reporting automatically once connectivity returns. No device data is lost — you'll just see a gap in that period's metrics history.
  </Accordion>

  <Accordion title="Can I install two agents on the same device?">
    No — the installer detects an existing installation and refuses to create a second one.
  </Accordion>

  <Accordion title="Does the agent read personal files or browsing history?">
    No. It reports hardware/OS info, installed software, and status, and only runs remote actions your IT admin explicitly triggers from the dashboard. It doesn't access personal accounts, files outside its own installation, or browser data.
  </Accordion>
</AccordionGroup>

## Next step

Managing more than a handful of machines? [Deploying to a network](/getting-started/deploying-to-a-network) covers installing onto many Windows devices at once, without touching each one individually.
