{"record":{"id":"f636f2359bba1de8","repo":"nats-io/nats-server","slug":"account-q-not-jetstream-enabled","errorCode":null,"errorMessage":"account %q not jetstream enabled","messagePattern":"account %q not jetstream enabled","errorType":"http","errorClass":null,"httpStatus":400,"severity":"warning","filePath":"server/monitor.go","lineNumber":3246,"sourceCode":"\t}\n\treturn &detail\n}\n\nfunc (s *Server) JszAccount(opts *JSzOptions) (*AccountDetail, error) {\n\tjs := s.getJetStream()\n\tif js == nil {\n\t\treturn nil, fmt.Errorf(\"jetstream not enabled\")\n\t}\n\tacc := opts.Account\n\taccount, ok := s.accounts.Load(acc)\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"account %q not found\", acc)\n\t}\n\tjs.mu.RLock()\n\tjsa, ok := js.accounts[account.(*Account).Name]\n\tjs.mu.RUnlock()\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"account %q not jetstream enabled\", acc)\n\t}\n\treturn s.accountDetail(jsa, opts.Streams, opts.Consumer, opts.DirectConsumer, opts.Config, opts.RaftGroups, opts.StreamLeaderOnly), nil\n}\n\n// helper to get cluster info from node via dummy group\nfunc (s *Server) raftNodeToClusterInfo(node RaftNode) *ClusterInfo {\n\tif node == nil {\n\t\treturn nil\n\t}\n\tpeers := node.Peers()\n\tpeerList := make([]string, len(peers))\n\tfor i, p := range peers {\n\t\tpeerList[i] = p.ID\n\t}\n\tgroup := &raftGroup{\n\t\tName:  _EMPTY_,\n\t\tPeers: peerList,\n\t\tnode:  node,","sourceCodeStart":3228,"sourceCodeEnd":3264,"githubUrl":"https://github.com/nats-io/nats-server/blob/3a66a489d262bf89b71a71c955c94920394532f3/server/monitor.go#L3228-L3264","documentation":"The account exists but has no JetStream account entry (it has never used JetStream, e.g. no streams/consumers and no template initialized), so JszAccount cannot produce an account detail and returns this error.","triggerScenarios":"Calling JszAccount with opts.Account naming a valid account that has not touched JetStream; querying /jsz?acc=NAME for an account created but never used with JetStream APIs.","commonSituations":"Dashboards enumerating all accounts and assuming every one is JetStream-enabled; freshly created accounts before first JetStream usage; accounts on servers where JetStream is enabled only for specific accounts.","solutions":["Only query JszAccount for accounts that have used JetStream (have streams/consumers)","Treat this error as 'no JetStream data for this account' and render an empty panel","Initialize JetStream usage for the account (create a stream) if it should be JetStream-enabled"],"exampleFix":"// before\ninfo, err := s.JszAccount(&server.JSzOptions{Account: \"PLAIN_ACC\"}) // err: not jetstream enabled\n// after\ninfo, err := s.JszAccount(&server.JSzOptions{Account: \"JS_ACC\"})","handlingStrategy":"try-catch","validationCode":"// pre-check: call JszAccount without Account (server-level JSz) and see if the account appears in Accounts list","typeGuard":null,"tryCatchPattern":"detail, err := srv.JszAccount(opts)\nif err != nil && strings.Contains(err.Error(), \"not jetstream enabled\") {\n\treturn nil, nil // account exists but has no JetStream usage\n}","preventionTips":["Treat 'not jetstream enabled' per-account as an empty result, not a failure","Enumerate JetStream accounts from server-level /jsz output instead of guessing names","Only surface JetStream panels for accounts that appear in js.account details"],"tags":["jetstream","monitoring","account"],"backgroundTag":"account-not-jetstream-enabled","analyzedSha":"3a66a489d262bf89b71a71c955c94920394532f3","analyzedAt":"2026-09-02T04:41:54.247Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}