gitbutlerapp/gitbutler · error · anyhow::Error
Error when registering schema {} for type {} registered at {
Error message
Error when registering schema {} for type {} registered at {}
Missing dependent type {}. Consider deriving `JsonSchema` on the type and registering it with `register_sdk_type!()`.
What it means
Error "Error when registering schema {} for type {} registered at {} Missing dependent type {}. Consider deriving `JsonSchema` on the type and registering it with `register_sdk_type!()`. " thrown in gitbutlerapp/gitbutler.
Source
Thrown at crates/but-ts/src/main.rs:362
for t in &types {
if let Some(obj) = t.schema.as_object()
&& let Some(serde_json::Value::Object(defs)) =
obj.get("$defs").or_else(|| obj.get("definitions"))
{
for (def_name, def_schema) in defs {
if let Some(entry) = existing_names.get(&def_name.as_ref()) {
let entry_schema = entry.schema.clone().to_value();
if !root_equals_def(&entry_schema, def_schema, def_name) {
bail!(
"Error when registering schema {} for type {} registered at {}\n\nThe registered dependent type {} has a different signature than what is expected. This indicates a potential name collision. Consider renaming one of the types with either `#[serde(rename = ...)]` or `#[schemars(rename = ...)]`.\n",
t.name,
t.type_name,
t.registration_location,
def_name
)
}
} else {
bail!(
"Error when registering schema {} for type {} registered at {}\n\nMissing dependent type {}. Consider deriving `JsonSchema` on the type and registering it with `register_sdk_type!()`.\n",
t.name,
t.type_name,
t.registration_location,
def_name
)
}
}
}
}
// Order output types by name
types.sort_by(|a, b| a.name.cmp(&b.name));
Ok(types
.into_iter()
.map(|s| (s.name.to_string(), s.schema))
.collect())View on GitHub (pinned to caf1f223d3)
When it happens
Trigger: Thrown at crates/but-ts/src/main.rs:362 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of gitbutlerapp/gitbutler@caf1f223d3 (2026-08-20).
Data as JSON: /api/errors/fd5b2c446d9cea3b.
Report an issue: GitHub.