What happened (actual)
2026-01-24 21:46:36.769 [info] [Window] Started local extension host with pid 12873.
2026-01-24 21:46:37.365 [error] [Window] [Extension Host] Failed to update user status Error: LanguageServerClient must be initialized first!
2026-01-24 21:46:37.770 [info] (Antigravity) 2026-01-24 21:46:37.770 [INFO]: Language server started
2026-01-24 21:46:37.774 [info] W0124 21:46:37.764515 12909 client.go:137] failed to set auth token
2026-01-24 21:46:37.774 [info] W0124 21:46:37.765235 12909 log_context.go:106] Cache(userInfo): Singleflight refresh failed: You are not logged into Antigravity.
2026-01-24 21:46:37.774 [info] I0124 21:46:37.773667 12909 server.go:1504] initialized server successfully in 222.073667ms
-
(Extension runtime starts.)
-
(Init-order bug: extension tries to use LS client before it’s ready → breaks auth/user-status wiring.)
-
(LS comes up after the extension already failed.)
-
(Auth token never gets set in LS → treated as not logged in.)
-
(User/plan fetch fails due to missing token; “singleflight” just dedupes concurrent refreshes.)
-
(LS is running, but unauthenticated.)
How it should be (expected)
2026-01-24 21:46:36.769 [info] [Window] Started local extension host with pid 12873.
2026-01-24 21:46:37.000 [info] [Window] [Extension Host] Initializing LanguageServerClient...
2026-01-24 21:46:37.200 [info] (Antigravity) 2026-01-24 21:46:37.200 [INFO]: Language server started
2026-01-24 21:46:37.250 [info] [Window] [Extension Host] LanguageServerClient initialized
2026-01-24 21:46:37.300 [info] [Window] [Extension Host] Authenticated session detected; setting auth token
2026-01-24 21:46:37.320 [info] I0124 21:46:37.320000 12909 client.go:137] auth token set
2026-01-24 21:46:37.350 [info] I0124 21:46:37.350000 12909 log_context.go:106] Cache(userInfo): refresh succeeded
2026-01-24 21:46:37.380 [info] [Window] [Extension Host] Starting update loop (user status / available models)
-
(Extension runtime starts.)
-
(LS client init begins; nothing that needs LS client should run yet.)
-
(LS process starts.)
-
(LS client is connected/ready.)
-
(Extension now propagates token to LS.)
-
(LS acknowledges token; opposite of “failed to set auth token”.)
-
(User/plan info becomes available.)
-
(Only now start polling loops like user status / models.)