Active Source Not Visible in UI

Resolved 💬 1 comment Opened Feb 13, 2026 by nevgenov Closed Feb 14, 2026

Bug: Active Source Not Visible in UI

Environment

  • Craft Agents: v0.4.5
  • macOS: 26.2 (Build 25C56)
  • Date: February 14, 2026

Summary

A workspace source (Telegram MCP) is marked as Active in session state and all tools function correctly, but the source does not appear in the UI source list.

Steps to Reproduce

  1. Create a workspace with a symlinked source:

``
workspace/sources/telegram → /path/to/another/workspace/sources/telegram
``

  1. Configure the source with a working MCP server:

``json
{
"name": "Telegram",
"slug": "telegram",
"enabled": true,
"type": "mcp",
"mcp": {
"transport": "stdio",
"command": "/path/to/mcp-server/start.sh",
"args": []
}
}
``

  1. Restart Craft Agents
  2. Open the workspace
  3. Check the UI source list

Expected Behavior

The "Telegram" source should be visible in the sources panel in the UI, showing connection status and available tools.

Actual Behavior

  • ✅ Session state correctly shows: Active: telegram
  • ✅ All 91 MCP tools work perfectly (e.g., mcp__telegram__list_chats)
  • ✅ Source test passes: ✓ MCP server started successfully
  • ❌ Source does NOT appear in the UI source list

Evidence

Session State (from system):

<sources>
Active: telegram
Inactive: memory (inactive), work-memory (inactive)
</sources>

MCP Tools Working:

// Tools are accessible and functional:
mcp__telegram__list_chats({limit: 10}) // ✅ Works
mcp__telegram__get_messages({chat_id: 123, limit: 5}) // ✅ Works

Source Test Output:

✓ MCP server started successfully
  Tools available: 91
  Examples: get_chats, get_messages, send_message, ...

Source Configuration

Type: Symlink
Path: workspace/sources/telegram → /other/workspace/sources/telegram

Directory structure:

sources/
├── memory/ (inactive) ← visible in UI
├── telegram/ → symlink (active) ← NOT visible in UI
└── work-memory/ (inactive) ← visible in UI

Additional Context

  • Source works 100% correctly from a functionality perspective
  • This appears to be purely a UI rendering issue
  • Refreshing (Cmd+R) does not help
  • Full app restart does not resolve
  • Other sources (memory, work-memory) display correctly as "inactive"

Potential Root Causes

  1. Symlink resolution: UI may not properly handle symlinked source directories
  2. State sync: Mismatch between backend session state and frontend UI state
  3. UI filtering: Active sources might be incorrectly filtered from display
  4. Caching: UI may cache source list and miss updates

Impact

  • Severity: Medium (works but confusing UX)
  • Workaround: Use tools directly (they work fine)
  • User Confusion: Contradicts visible session state showing "Active: telegram"

Suggested Investigation

  1. Check UI component that renders source list
  2. Verify symlinked sources are resolved correctly
  3. Ensure proper state sync between backend and frontend
  4. Add debug logging to track source display filtering logic

---

Environment Details:

  • Platform: darwin
  • OS Version: Darwin 25.2.0
  • App Bundle ID: com.lukilabs.craft-agent

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗