zed-industries/zed · error

No remote available to push to. Add a remote to be able to p

Error message

No remote available to push to. Add a remote to be able to publish changes.

What it means

In GitPanel's push flow: the get_remote future resolved to Ok(None), meaning no remote could be selected (none configured and the user was not able to pick one). The push cannot proceed without a remote destination.

Source

Thrown at crates/git_ui/src/git_panel.rs:4149

                let content = Self::build_commit_message_prompt(
                    &prompt,
                    user_agents_md.as_deref(),
                    rules_content.as_deref(),
                    instructions.as_deref(),
                    &subject,
                    &diff_text,
                );

                let request = LanguageModelRequest {
                    thread_id: None,
                    prompt_id: None,
                    intent: Some(CompletionIntent::GenerateGitCommitMessage),
                    messages: vec![LanguageModelRequestMessage {
                        role: Role::User,
                        content: vec![content.into()],
                        cache: false,
                        reasoning_details: None,
                    }],
                    tools: Vec::new(),
                    tool_choice: None,
                    stop: Vec::new(),
                    temperature,
                    thinking_allowed: false,
                    thinking_effort: None,
                    speed: None,
                    compact_at_tokens: None,
                };

                let stream = model.stream_completion_text(request, cx);
                match stream.await {
                    Ok(mut messages) => {
                        if !text_empty {
                            this.update(cx, |this, cx| {
                                this.commit_message_buffer(cx).update(cx, |buffer, cx| {
                                    let insert_position = buffer.anchor_before(buffer.len());
                                    buffer.edit(

View on GitHub (pinned to 5a9b9558db)

Solutions

  1. Clear the pending remote operation state on this failure path
  2. Prompt the user to add a remote (`git remote add origin <url>`) before pushing
  3. Disable or hide push actions for repositories without remotes
  4. Point users to the remotes UI in project settings
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/git_ui/src/git_panel.rs:4141 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zed-industries/zed@5a9b9558db (2026-08-20). Data as JSON: /api/errors/006eb1db0bff7f76. Report an issue: GitHub.