#Can/how to update openclaw version 4/14 to opus 4.7?

1 messages · Page 1 of 1 (latest)

outer dawn
#

Wish to try out opus 4.7 with my agent. running/model claude/opus-4-7, or something and antoher isnt working. is the fix in the json? If so what to alter?

mortal palmBOT
mighty chasmBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

mortal palmBOT
undone ploverBOT
#

yep, this is most likely the model ref.

Use:

  • anthropic/claude-opus-4-7 for Anthropic API
  • claude-cli/claude-opus-4-7 for Claude CLI

Not claude/opus-4-7.

If you’re editing config, it should look like:

{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-7" },
#

      // only needed if you already use a model allowlist
      models: {
        "anthropic/claude-opus-4-7": { alias: "Opus" },
      },
    },
  },
}

Important: if you already have agents.defaults.models, you need to add 4.7 there too, or /model can reject it as “not allowed”.

Also, check:

outer dawn
#

on openclaw version 4/14. Openclaw model status returned: Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • models: Unrecognized key: "default"
    Legacy config keys detected:
  • channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce} instead. Run "openclaw doctor --fix".
  • channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.
  • channels.telegram: channels.telegram.streamMode, channels.telegram.streaming (scalar), chunkMode, blockStreaming, draftChunk, and blockStreamingCoalesce are legacy; use channels.telegram.streaming.{mode,chunkMode,preview.chunk,block.enabled,block.coalesce}.

Run: openclaw doctor --fix

undone ploverBOT
#

yep, that error is the old config shape.

models.default is no longer valid.
The new key is:

agents.defaults.model.primary

So if you have something like:

{
  models: {
    default: "anthropic/claude-opus-4-7"
  }
#
}

change it to:

{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-opus-4-7"
      }
    }
  }
}
#

If you use Claude CLI instead of Anthropic API, use:

claude-cli/claude-opus-4-7

not anthropic/....

Also, if you already have a model allowlist under agents.defaults.models, add 4.7 there too, for example:

{
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-7" },
      models: {
#
        "anthropic/claude-opus-4-7": { alias: "Opus" }
      }
    }
  }
}

Fastest path is honestly:

openclaw doctor --fix

That should clean up the Telegram legacy keys too.

Then re-check with:

outer dawn
#

is there a larger issue with the file structure of my agent?

undone ploverBOT
#

probably not, this looks more like old config schema, not a broken agent folder structure.

From what you pasted, the main issue is:

  • old key: models.default
  • new key: agents.defaults.model.primary

And doctor is also flagging old Telegram config keys, which points to a legacy config file carried forward across updates, not a damaged agent.

So my read is:

  1. Not an agent file-structure problem
  2. Yes, your config layout is outdated
  3. openclaw doctor --fix is the right first move

If it were a bigger structural problem, I’d expect errors about session paths, agent dirs, missing files, bootstrapping, etc. You’re not showing that, just schema validation.

#

If you want to sanity check it, paste the top-level parts of ~/.openclaw/openclaw.json for:

  • agent
  • agents
  • models
  • channels.telegram

with secrets redacted, and I can tell you if it’s just normal legacy drift or something messier.

outer dawn
#

If anyhting a description of what a streamlined and effiecent file structure would help me manually fix the issue.

undone ploverBOT
#

yeah, and I think “streamlined file structure” here really means streamlined config structure.

A clean modern OpenClaw config is roughly:

{
  gateway: {
    // gateway settings
  },

  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-opus-4-7"
      },
#
      // optional: allowlist / aliases / per-model params
      models: {
        "anthropic/claude-opus-4-7": { alias: "Opus" }
      }
    }

    // optional: named agents go here
    // list: [...]
  },

  channels: {
    telegram: {
      // channel config

      streaming: {
#
        mode: "...",
        chunkMode: "...",
        preview: { chunk: true },
        block: { enabled: false, coalesce: true }
      }
    }
  },

  tools: {
    // tool policy
  },

  auth: {
    // auth profiles if used
  },
#

  models: {
    // ONLY for custom provider definitions
    // not for your default chat model
    // providers: { ... }
  }
}

The important modern rules

  • agents.defaults.model.primary = your default model
  • agents.defaults.models = optional allowlist / aliases
  • models top-level = custom providers only
  • old agent.* keys are legacy
  • old models.default is legacy
#
  • old Telegram streaming scalars are legacy

So for your manual cleanup

If you see these, they should go:

models.default
agent.model
channels.telegram.streamMode
channels.telegram.chunkMode
channels.telegram.blockStreaming
channels.telegram.draftChunk
channels.telegram.blockStreamingCoalesce

And the modern replacements are:

#
agents.defaults.model.primary
agents.defaults.models
channels.telegram.streaming.mode
channels.telegram.streaming.chunkMode
channels.telegram.streaming.preview.chunk
channels.telegram.streaming.block.enabled
channels.telegram.streaming.block.coalesce

Minimal version for your case

If your goal is just “make Opus 4.7 the default”, the clean core is:

{