Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)

Featured Replies

  • Author

Hi @resin1980 @Joly0 I have almost finished a new version that should address both of these.

@Joly0 To be sure, if your system still has the debug log, it would be helpful so I can double check not an unrelated issue to what I have fixed.

Thanks

John

  • Replies 56
  • Views 8.2k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • johner
    johner

    so in the new version there is a dedicated loop back file called agent.img on the USB (by default), it is mounted /usr/local/emhttp/plugins/unraid-aicliagents/agents

Posted Images

  • Author

Antigravity Cli added, along with a number of fixes and a few other enhancements.

On 5/23/2026 at 9:25 AM, johner said:

Antigravity Cli added, along with a number of fixes and a few other enhancements.

Hi John,

You are doing an amazing job with this plugin, really appreciate your hard work on it!

I ran into an issue when trying to install the Antigravity agent through the WebUI, which triggers this error: Fatal Error: Class "AICliAgents\Services\Sources\UrlValidator" not found

Why it's happening: The plugin is currently missing an autoloader definition for subdirectories under src/includes/services/. Because UrlValidator.php lives inside a nested sources/ subfolder (src/includes/services/sources/UrlValidator.php), its namespace AICliAgents\Services\Sources isn't being registered by the flat file inclusions in the manager.

The Fix: Adding a directory map fallback or explicitly globbing the subfolder inside src/includes/AICliAgentsManager.php right after InstallerService.php fixes the issue completely:

PHP

require_once __DIR__ . '/services/InstallerService.php';
// Load underlying source engines and validators
foreach (glob(__DIR__ . '/services/sources/*.php') as $file) { 
    require_once $file; 
}

Additionally, a PSR-4 compliant symlink structure or folder rename from src/includes/services/sources/ to match the capitalized namespace layout (src/Services/Sources/) resolves the autoloader mismatch permanently.

Thanks again for building this awesome tool!

Hi John,

Following up on the agent support, I also ran into two issues regarding the new Antigravity CLI ( agy ) command-line integration and credential persistence over SSH:

### 1. Missing SSH Integration & Shim for agy

• Why it's happening: The agy agent is currently omitted from the default shell integration files. There is no agy alias in the global profile, and no proxy shim generated in /usr/local/bin .

• The Fix:

• In src/scripts/installer/runtime.sh : Add the create_proxy call for the Go binary:

create_proxy "agy" "antigravity-cli/home/.local/bin/agy"

• In src/scripts/installer/shell-integration.sh : Add the persistent-home alias:

alias agy='_aicli_run /usr/local/emhttp/plugins/unraid-aicliagents/agents/antigravity-cli/home/.local/bin/agy'

──────

### 2. Keyring Persistence Failure (Credentials Not Saving to Disk)

• Why it's happening: The new agy agent uses the virtual DBus Secret Service keyring to encrypt and store OAuth tokens. However, the background daemon fails to write to disk, throwing this error in the daemon log:

save: write: open /tmp/unraid-aicliagents/work/root/home/.local/share/aicli-keyring/keyring.json.tmp: no such file or directory

Because the OverlayFS mount shadows underlying folders, the required storage directory ( .local/share/aicli-keyring/ ) does not exist on the active mount. The keyring daemon is forced to run entirely in-memory, clearing your authentication every time the daemon

or system restarts.

• The Fix:

Ensure the parent directories are created on the active mount in the secret-service-up.sh script (or during the home mount process) before the daemon launches:

mkdir -p "$HOME_DIR/.local/share/aicli-keyring"

Once these are merged, agy will be fully authenticated, persistent, and available out-of-the-box in all SSH terminal sessions!

Thanks again!

  • johner changed the title to [Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)
  • Author
On 5/26/2026 at 3:10 AM, Sanjay said:

Hi John,

Following up on the agent support, I also ran into two issues regarding the new Antigravity CLI ( agy ) command-line integration and credential persistence over SSH:

### 1. Missing SSH Integration & Shim for agy

• Why it's happening: The agy agent is currently omitted from the default shell integration files. There is no agy alias in the global profile, and no proxy shim generated in /usr/local/bin .

• The Fix:

• In src/scripts/installer/runtime.sh : Add the create_proxy call for the Go binary:

create_proxy "agy" "antigravity-cli/home/.local/bin/agy"

• In src/scripts/installer/shell-integration.sh : Add the persistent-home alias:

alias agy='_aicli_run /usr/local/emhttp/plugins/unraid-aicliagents/agents/antigravity-cli/home/.local/bin/agy'

──────

### 2. Keyring Persistence Failure (Credentials Not Saving to Disk)

• Why it's happening: The new agy agent uses the virtual DBus Secret Service keyring to encrypt and store OAuth tokens. However, the background daemon fails to write to disk, throwing this error in the daemon log:

save: write: open /tmp/unraid-aicliagents/work/root/home/.local/share/aicli-keyring/keyring.json.tmp: no such file or directory

Because the OverlayFS mount shadows underlying folders, the required storage directory ( .local/share/aicli-keyring/ ) does not exist on the active mount. The keyring daemon is forced to run entirely in-memory, clearing your authentication every time the daemon

or system restarts.

• The Fix:

Ensure the parent directories are created on the active mount in the secret-service-up.sh script (or during the home mount process) before the daemon launches:

mkdir -p "$HOME_DIR/.local/share/aicli-keyring"

Once these are merged, agy will be fully authenticated, persistent, and available out-of-the-box in all SSH terminal sessions!

Thanks again!

Hey! These should be fixed now, thx for the continued feedback.

  • 2 weeks later...

hi, great idea for a plugin. Is there a way to configure open code to use the local ollama ? in normal setup i can use ollama launch opencode as ollama has integration and inserts the integration (it emulates openai) but when i do it on unraid it says open code not installed

  • Author

Hi!

So I assume the opencode agent works fine on its own?

How are you launching ollama etc.? In the standard unraid terminal, the little terminal button on the workspace drawer tab or another way?

Once I know I’ll see if I can get Claude to design a way to support this launch method.

In the interim use kilo (or opencode) free models to config the local models in opencode so you can launch it as blower the current design :-)

Edited by johner

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.