diff --git a/loop/agent.go b/loop/agent.go
index 0cfc35b..52fafbd 100644
--- a/loop/agent.go
+++ b/loop/agent.go
@@ -141,6 +141,8 @@
 	CompactConversation(ctx context.Context) error
 	// GetPortMonitor returns the port monitor instance for accessing port events
 	GetPortMonitor() *PortMonitor
+	// SkabandAddr returns the skaband address if configured
+	SkabandAddr() string
 }
 
 type CodingAgentMessageType string
@@ -2348,3 +2350,11 @@
 func (a *Agent) GetPortMonitor() *PortMonitor {
 	return a.portMonitor
 }
+
+// SkabandAddr returns the skaband address if configured
+func (a *Agent) SkabandAddr() string {
+	if a.config.SkabandClient != nil {
+		return a.config.SkabandClient.Addr()
+	}
+	return ""
+}
diff --git a/loop/server/loophttp.go b/loop/server/loophttp.go
index 0204a38..cc5ccc3 100644
--- a/loop/server/loophttp.go
+++ b/loop/server/loophttp.go
@@ -96,6 +96,7 @@
 	OutsideWorkingDir    string                        `json:"outside_working_dir,omitempty"`
 	InsideWorkingDir     string                        `json:"inside_working_dir,omitempty"`
 	TodoContent          string                        `json:"todo_content,omitempty"` // Contains todo list JSON data
+	SkabandAddr          string                        `json:"skaband_addr,omitempty"` // URL of the skaband server
 }
 
 type InitRequest struct {
@@ -1304,6 +1305,7 @@
 		FirstMessageIndex:    s.agent.FirstMessageIndex(),
 		AgentState:           s.agent.CurrentStateName(),
 		TodoContent:          s.agent.CurrentTodoContent(),
+		SkabandAddr:          s.agent.SkabandAddr(),
 	}
 }
 
diff --git a/loop/server/loophttp_test.go b/loop/server/loophttp_test.go
index 0d28fca..bb5bd21 100644
--- a/loop/server/loophttp_test.go
+++ b/loop/server/loophttp_test.go
@@ -32,6 +32,7 @@
 	sessionID                string
 	slug                     string
 	retryNumber              int
+	skabandAddr              string
 }
 
 func (m *mockAgent) NewIterator(ctx context.Context, nextMessageIdx int) loop.MessageIterator {
@@ -258,6 +259,7 @@
 }
 
 func (m *mockAgent) GetPortMonitor() *loop.PortMonitor { return loop.NewPortMonitor() }
+func (m *mockAgent) SkabandAddr() string               { return m.skabandAddr }
 
 // TestSSEStream tests the SSE stream endpoint
 func TestSSEStream(t *testing.T) {
