Skip to content
Docs
About By Dawn Contact supportOpen By Dawn
  1. Intake
  2. Questions

Questions

This page helps you ask By Dawn questions about your project’s code and get answers you can use. By the end you’ll know where to ask, what the answer can see, how to make it plainer or more technical, and how to turn a good answer into a ticket.

A question creates nothing: an agent reads the project’s repos, runs the commands it needs on the answering machine, and answers in the thread. No ticket, no branch, no pull request. It looks rather than changes, so you can ask anything, from “where is this handled?” to “what happens, step by step, when someone signs up?” or “what’s our outbound IP in Azure?”. Every question is saved as a conversation in Questions, so you and your team can find it again, follow it up, or share a link to it.

There are two ways in. Ask is a quick drawer that opens over whatever page you’re on. Questions is the full page, with every saved conversation of the project beside the one you’re reading. Both always ask about the project the app is showing.

Press ⌘J (CtrlJ on Windows and Linux), or choose the question-mark button in the title bar. Its tooltip reads Ask about the code. The shortcut doesn’t fire while you’re typing in a text field, so it never takes a keystroke meant for something else.

The Ask drawer opens on the right. An empty drawer offers a few example questions and your Recent questions, the latest five, to pick back up. Type your question and press ↵ or choose Ask. Use ⇧↵ for a new line.

At the bottom of the drawer:

  • New question starts a fresh conversation.
  • Open in Questions takes the conversation to the full page. With no conversation open it reads All questions.
  • Make it a ticket turns the answer into a ticket (see Turn an answer into a ticket).

Open Questions from the project’s sidebar. In the collapsed sidebar it’s the question-mark button labelled Questions · ask ⌘J. On a phone, it’s in the tab bar and in the menu.

The list on the left holds the project’s saved conversations:

  • Search questions and answers… searches the text of both.
  • Active and Archived switch between conversations in use and ones put away.
  • Everyone and Mine show the whole team’s questions or only yours.

Each row shows who asked, when, how many follow-ups it has, a lock if it’s private, and a ticket mark if it became a ticket. Choose Ask at the top of the list to start a new question.

The open conversation fills the rest of the page. Its header says who asked it, when, and which repos it read, and links to the ticket it became, if any. From there you can:

Action Where What it does
Rename The pencil beside the title Gives the conversation a clearer title. It starts as the first question.
Make it a ticket Header Opens a new ticket from the conversation.
Archive / Unarchive Header Moves it out of the active list but keeps it searchable. Asking a follow-up brings it back.
Copy link More actions (⋯) Copies a link to the conversation to share.
Make private / Share with team More actions (⋯) Changes who can see it. Only the person who asked sees this.
Delete More actions (⋯) Removes it for good, for everyone. Only the person who asked sees this.

Archive is usually the better choice than delete, because an archived conversation can still be found and its answer reused.

  1. Press ⌘J, or choose Ask on the Questions page.

  2. Type your question in the box. You can attach screenshots or files with the paperclip, or paste or drop them into the box. The agent reads them along with the code.

  3. Check the controls under the box. Each one starts from what you picked last time:

    • The repos it reads. All repos is the default. Open it to narrow the question to one or more repos.
    • Who can see it. Team (everyone on the project can find it) or Private (only you can see it).
    • How technical the answer should be. See Answer levels.
    • The model. Which model answers. See Choose the model.
  4. Press ↵ or choose Ask. While the answer is coming you can choose Stop.

A question can read at most 32 repos. If the scope you picked is bigger, the box says so and holds the question until you narrow it with the repo picker, rather than sending something that would be refused.

Ask reads the default branch of each repo in the question’s scope. It reads code, searches it and lists files, and the answer says what it did: a line such as “read 12 files” sits above the answer, and opening it lists every step. It also works with the same project context a worker gets.

When the question is about something running rather than the code, such as a cloud resource, a log or what’s deployed, the agent runs commands on the answering machine, the same way a worker on that machine does. It has the machine’s command-line tools and their sign-ins, so a CLI such as az, gcloud, aws or kubectl answers if it’s signed in there. The agent is told to stick to commands that read (list, show, get, logs), to change nothing unless you ask for exactly that, and never to put a credential in the answer. Those are instructions, not limits: the shell itself can run anything that machine’s sign-ins allow, and a mistaken answer, or text in a page or file the agent read that tells it to do something else, could make a change or show a secret. What By Dawn does enforce is a worker’s limits, so it can’t merge or approve a pull request, and the step list: each command the agent ran shows there, with any password, token or key in it masked. If a CLI isn’t installed or signed in on that machine, the answer says so and names the command that would answer it.

A conversation that reviews what agents proposed, such as doc edits or Memory notes waiting for approval, doesn’t run commands. Proposals no one has approved yet can say anything, so from the first review in a conversation the agent only reads, without the project’s skills. To ask something that needs a command, start a new question.

A review and a question that runs commands never run at the same time on one machine. A review waits for the machine’s other questions to finish, and a question asked during a review waits for the review to finish. The conversation shows when an answer is waiting.

When neither the code nor a command can answer, the agent can open a browser, for example to look at a running instance of your app. A conversation that used one shows what the agent did there (opened pages, clicked, took screenshots) in the same step list. See Watch the agent’s browser.

To ask about a repo, it has to be one of the project’s repos, with a checkout the answering machine can read (see Where questions run).

Not everyone asking how something works wants the code, so you choose how technical the answer is. The level picker is under the box, under How technical the answer should be:

Level What you get
Plain No code. What it does and why, in everyday words.
Balanced How it fits together, light on code.
Technical Files, lines and code.

Balanced is where a new asker starts. After that, the level you last picked is kept for your next question.

Each answer wears a badge with the level it was written at, so whoever reads a shared conversation knows what they have. When an answer is done you can also choose Explain simpler or More technical, which asks the agent to explain the same thing again one level down or up. You can change the level between follow-ups, too.

Under each answer, Copy copies its text. A question that was stopped or failed offers Ask again.

The model chip under the box names the model that will answer, and each answer shows a badge with the model that wrote it. Where your organization lets members choose, the chip is a menu headed Model for your questions: Company default follows the organization’s choice, or you can pick another model. Where the organization has set the model for everyone, the chip can’t be changed, and its tooltip says your organization sets it.

Org admins set this in Settings, then Organization, then Run defaults, with Questions model and the Members can choose a model for Questions switch. Questions always run on Claude Code.

Where questions run, and why Ask can be unavailable

Section titled “Where questions run, and why Ask can be unavailable”

A question needs an agent to answer it, and the agent needs the project’s repos on its machine.

  • In the By Dawn desktop app, the agent runs on your own machine and reads the project’s repo checkouts there.
  • In the web app, the question goes to one of your organization’s paired machines that’s online, and runs there. A conversation stays on the machine it started on, because that machine holds the checkouts it read. It runs commands with that machine’s sign-ins, so pair a machine only if you’re happy for questions to use them (see What Ask can see).

When no agent can answer, the title-bar tooltip says so: Asking needs the SAW desktop app — saved questions still open here, or in the web app Asking needs a SAW app running on one of your machines — saved questions still open here. The button still opens the drawer, and in place of the box you’ll see:

  • Ask from the SAW desktop app. Here you can read and search past questions.
  • Start SAW on a paired machine to ask. Here you can read and search past questions.

Either way you can still read, search and share saved questions. Open in SAW desktop opens the same page in the desktop app, and Download gets the app if you don’t have it.

If the project has no repo the machine can read, the box says the project has no repo to read and asks you to add one, with a local path (desktop) or a local path or remote URL (paired machine).

When the agent opens a browser to answer, the conversation shows a live view of it on the Questions page. The drawer is too narrow for it, so there it says This question is using its browser — watch it, or sign in yourself, on Questions. Choose Open browser to go there.

The live view is marked Only you can see it: it belongs to the person who asked, while the conversation lasts. You can take over the browser and drive it yourself, to sign in to a client’s instance for example, then reply in the thread so the agent carries on. Where the machine can stream its desktop, you can switch between Browser and Desktop.

The pill in the conversation’s header shows or hides the live view, and its menu picks where it sits: Auto, Beside the answer or Below the answer, or Focus, which gives the live view the whole pane. On a narrow screen you switch between Answer and the live view instead.

Someone else reading the conversation doesn’t see your browser. A follow-up they ask opens a browser of their own, and once your conversation has closed, a follow-up of yours opens a new one too, so you may need to sign in again.

When an answer shows something that needs doing, choose Make it a ticket. It’s there once the conversation has an answer and nothing is still being answered.

The new-ticket dialog opens with the question’s first sentence as the title. The description holds the question and the latest answer, under “Context from Ask”, so whoever picks the ticket up has the explanation. Edit it as you like, then create the ticket as usual (see Tickets and sub-tickets).

Once the ticket exists, the conversation links to it (Became and the ticket’s number in its header), and the row in the list wears a ticket mark.

  • Do narrow the repos when you know where the answer is, so the agent reads only what matters.
  • Do pick Plain when you’re going to forward the answer to someone outside engineering, so it reads without code.
  • Don’t delete a conversation someone else may be using. Archive it: it leaves the list but stays searchable.
  • Don’t start a second question while one is still being answered. Only one runs at a time, and the page says Another question is still being answered — follow up here once it finishes.

The Questions lens in Insights counts these same questions: how many the team asks, how fast and at what cost they’re answered, and how often one becomes a ticket.

Can Ask change my code?

No. A question creates no ticket, branch or pull request, and its own copy of the code isn’t your repo. To get something changed, choose Make it a ticket and let a worker pick it up.

Can Ask run commands?

Yes. It runs commands on the machine answering the question, with that machine’s tools and sign-ins, the same as a worker there. It’s told to run commands that read, such as az network public-ip list, and to change something on a live system only when you ask for exactly that, but that’s an instruction, not a limit: the shell can do whatever those sign-ins allow. What it can’t get past are a worker’s limits: for example, it can’t merge or approve a pull request.

Who can see my questions?

A Team question can be found by everyone on the project. A Private one is listed only for you. You choose when you ask, and you can change it later with Make private or Share with team in the conversation’s ⋯ menu.

Does a follow-up remember the earlier answers?

Yes. A follow-up continues the same conversation, even on a question asked days ago. The agent gets the earlier questions and answers as context and re-reads the code where it needs to.

Why can I read questions in the web app but not ask?

In the web app a question runs on one of your organization’s paired machines. If none is online, there’s nothing to answer it. Start By Dawn on a paired machine, or ask from the desktop app.

My level, repos and model keep coming back. Why?

By Dawn remembers your last picks for the next question: the level, the model, the visibility, and the repos for each project. They’re kept on this device.