AT&T Call Forwarding: How to Set It Up and Turn It Off
Short answer: on an AT&T line, **21*<number># forwards every call, **004*<number># forwards only the calls you don't answer (plus busy and unreachable ones), and ##21# or ##004# turns it off again. Dial them from the Phone app keypad on the AT&T line itself, and don't leave off the closing #.
Here to switch it off? Dial ##21#, then ##004#, on the AT&T phone. Jump to the turn-off steps.
AT&T runs GSM-style forwarding, which is good news: the network usually replies to a code with a readable message on screen, and the phone's own Call Forwarding menu works as well. That is the main difference from a Verizon line, where forwarding is set by star codes and the handset menu often shows nothing at all. Each section below is a separate job, so you can go straight to the one you came for.
AT&T call forwarding codes
Dial these from the Phone app keypad on the AT&T line itself — not from another phone, and not saved as a contact.
| Code | What it does | When you want it |
|---|---|---|
| **21*<number># | Forwards every incoming call. Your handset may not ring at all. | Moving your line to another phone for a day |
| **004*<number># | Forwards the calls you don't answer, plus calls that arrive while you're busy or unreachable. The handset rings first. | Sending missed calls somewhere useful instead of voicemail |
| **61*<number># | Forwards only the calls you don't answer — nothing else. | Wanting one condition rather than the set of three |
| ##21# | Cancels always-on forwarding. No number after it. | Turning **21* off |
| ##004# | Cancels the conditional set. No number after it. | Turning **004* off |
| *#21# or *#004# | Reports what is currently set, and to which number. | Checking before and after you change anything |
These are the standard GSM supplementary-service codes AT&T's network uses, and the same ones OsmO's setup flow dials on an AT&T line. AT&T's own support page writes some of them with a single leading star — *21*<number># — which is the activate-only form of the same thing; either is worth trying if one is refused. Which options a specific line and plan carry is AT&T's to answer: check AT&T's call forwarding page or ask on 611. A code the network doesn't accept returns an error and changes nothing.
One code to avoid: ##002# erases every forwarding rule on the line at once — including the one your carrier uses to send unanswered calls to voicemail. After dialling it, missed calls may simply ring out with no voicemail until that is set up again. Use the specific cancel code instead.
How to turn on call forwarding on AT&T
Dial **21* and the destination number to forward every call, or **004* and the destination number to forward only the calls you don't answer. Finish with #, press call, and read the reply.
Dial this, press call
**004*5551234567#
Code, 10-digit destination and the closing hash typed as one unbroken string, on the AT&T line itself. Swap **004* for **21* if you want every call redirected.
- Open the Phone app on the AT&T line you want forwarded and go to the keypad. The code has to go out from that line.
- Type **21* for every call, or **004* for the calls you don't answer plus busy and unreachable ones.
- Type the 10-digit destination number straight after the code — no spaces — and finish with
#. - Press the green call button and read the message AT&T sends back before you dismiss it. On a GSM network that reply is the receipt, and it usually names the number you just forwarded to.
- Call your AT&T number from another phone to check where it lands. With **004*, let it ring out without answering — that is one of the cases it redirects.
Test the route rather than the ring. A handset that rings tells you nothing on its own, because conditional forwarding is meant to let it ring first.
How to forward AT&T calls to another number
The destination goes between the code and the hash, with no separator anywhere: **004*5551234567#.
- Pick the kind you want: **21* sends every call to the other number, **004* sends only the calls you don't pick up.
- On the keypad of the AT&T line, type the code, the 10-digit destination and the closing
#as one unbroken string. - If AT&T refuses it, dial the same code with the number in full international format instead:
**004*+15551234567#. Carriers disagree about which format they take, and this is the commonest reason a valid code is rejected. - Press call, read the confirmation, then ring your AT&T number from another phone and confirm the destination receives it.
- Right:
**004*5551234567#— code, 10 digits, hash. - Wrong:
**004*555 123 4567#,**004*5551234567(no closing hash),##004#5551234567(a number after a cancel code).
There's no separate "edit" step. Dialling the same code with a new destination replaces the old rule rather than adding a second one. And check the destination can actually receive calls from your line before you rely on it — a forwarded call still has to be answered at the other end.
Conditional forwarding vs always-on forwarding
This is the choice that decides everything else, and it's worth thirty seconds.
| Always-on — **21* | Conditional — **004* | |
|---|---|---|
| Does your handset ring? | Usually not at all | Yes, first — you can still pick up |
| Which calls move | Every one | Unanswered, busy, and unreachable |
| What happens to voicemail | Nothing reaches it | Replaced as the destination for missed calls |
| Good for | Handing your line to another phone | Giving missed calls somewhere better to land |
| Cancel with | ##21# | ##004# |
Two practical notes. **004* is a bundle of three conditions; if you want only one of them, **61* covers unanswered calls on their own. And the two rules can both be live at once — setting always-on doesn't clear a conditional rule you dialled last month, which is why the cancel section below asks you to dial both codes. If your phone shows a “Conditional Call Forwarding Active” notice and you're not sure why, see what it means and how to turn it off.
Using the phone's own menu instead
Because AT&T is a GSM network, the handset's forwarding menu talks to the network and is a fine alternative to the keypad.
- iPhone: Settings → Apps → Phone → Call Forwarding. Newer iOS versions put Phone under Apps; older ones list it directly in Settings. The iPhone menu offers always-on forwarding only — for the conditional kind, use **004* from the keypad. Full walkthrough: call forwarding on iPhone.
- Android: Phone → ⋮ → Settings → Calling accounts → SIM → Call forwarding. Samsung calls the section Supplementary services. Here you can pick each condition separately. Full walkthrough: call forwarding for Android.
- Dual-SIM phones: each SIM keeps its own settings. Forwarding set on the AT&T SIM does nothing for calls to the other line.
The menu and the keypad reach the same network setting, so you can set it one way and cancel it the other.
How to turn off call forwarding on AT&T
Dial ##21# to cancel always-on forwarding and ##004# to cancel the conditional set. Nothing goes after a cancel code. If you don't remember which one was set, dial both — a cancel code for a rule that isn't there simply comes back with nothing to erase.
Dial this, press call
##21#
Then do the same with ##004#. On the AT&T phone whose calls are being redirected. No number after the code — read the reply on screen before you dismiss it.
- Open the Phone app keypad on the AT&T handset itself. Dialling a cancel code from a friend's phone cancels nothing on yours.
- Dial ##21# and press call. Read the reply: it should say the service was erased or deactivated, not registered.
- Dial ##004# and press call, for the conditional rules.
- On a dual-SIM phone, check you were on the AT&T line when you dialled.
- Confirm it — next section. Don't stop at the reply on screen.
If your AT&T voicemail was switched on before, unanswered calls should start reaching it again once conditional forwarding is cleared.
How to confirm call forwarding is off
Two checks, and they answer different questions.
- Ask the network. Dial *#21#, press call, read the reply, then do the same with *#004#. On an AT&T line these usually return a readable summary of what is set and where it points. This is the check a Verizon line can't give you.
- Make a test call. Ring your AT&T number from another phone and let it ring unanswered. Confirm the old destination doesn't receive it, and that the call ends up where you expect — your handset, then voicemail.
Do both. The status code can be out of date on a line where a rule was set by a menu rather than a code, and a ringing handset proves nothing by itself because conditional forwarding lets it ring first. If the two disagree, believe the test call.
If the AT&T code doesn't seem to work
Work down the list in order. The first four are almost always it.
- The closing
#is missing. A GSM code needs it. This is the single commonest reason an AT&T forwarding code appears to do nothing. - The number format. Try 10 digits with no spaces first, then the full
+1international form. One of the two is usually accepted. - You dialled from the wrong phone, or from the wrong SIM on a dual-SIM handset. The code has to go out from the AT&T line being forwarded.
- You typed a number after a cancel code. ##21# and ##004# stand alone. Digits after them are not a cancel instruction.
- No signal. The code is a request to AT&T's network, so a dead spot or Airplane Mode means it never arrives.
- You cancelled the wrong rule. Always-on and conditional forwarding are separate. Dial ##21# and ##004#, then check with *#21# and *#004#.
- You tested the wrong way. With **004*, answering the test call proves nothing — let it ring out.
- The calls were going to voicemail, not to a number. That's voicemail doing its ordinary job, and a forwarding cancel code won't change it. Voicemail is a separate setting.
- The plan or the line doesn't carry it. Prepaid and employer-managed lines in particular can have forwarding unavailable or set centrally, where a code on the handset won't override it. Ask whoever runs the account, or AT&T.
- Still stuck after two clean attempts? AT&T customer care is 611 from the AT&T phone, or 1-800-331-0500. A different star code is not the fix.
Forward missed calls somewhere better than voicemail
Most people setting up **004* want the same thing: the calls they miss should land somewhere more useful than a voicemail box they'll never listen to.
That's what OsmO uses forwarding for. You keep your AT&T number and point your unanswered calls at OsmO, so the calls you don't pick up reach an AI phone assistant instead of voicemail. It answers in a natural voice, asks who is calling and what they want, and texts you what was said. Spam and robocalls tend to hang up on it rather than on you.
The AT&T-specific part: the OsmO app knows an AT&T line takes the GSM code rather than Verizon's *71, builds the dial string with your assistant's number and the closing hash already in it, and hands it to the keypad — so there's no code to copy out and no format to get wrong. It won't catch every spam call, and it's a separate app rather than an AT&T setting. Setting up the handset side too? See call forwarding on iPhone, call forwarding for Android, or the combined iPhone and Android guide. On another network, we have a step-by-step for Verizon call forwarding too.
Frequently asked questions
What is the AT&T call forwarding code?
**21*<number># forwards every call, **004*<number># forwards the calls you don't answer plus busy and unreachable ones, ##21# and ##004# cancel them, and *#21# and *#004# report what's set. Dial them from the Phone app keypad on the AT&T line.
How do I set up call forwarding on AT&T?
Open the keypad, dial **21* or **004* followed by the 10-digit destination number and a closing #, and press call. Read the confirmation, then ring your number from another phone to check where it lands.
How do I forward my AT&T calls to another number?
Type the code straight into the number and finish with a hash — **004*5551234567#. If that's refused, try the same code with +1 and the 10 digits.
How do I turn off call forwarding on AT&T?
Dial ##21# for always-on forwarding and ##004# for the conditional set, from the forwarded phone, with nothing after the code. Dial both if you're not sure which was set, then confirm with *#21# and a test call.
How do I know call forwarding is really off?
Dial *#21# and *#004# and read each reply, then ring your AT&T number from another phone and let it ring unanswered. If the status code and the test call disagree, believe the test call.
What's the difference between **21* and **004* on AT&T?
**21* is always-on: every call goes to the destination and your handset may never ring. **004* is conditional: the handset rings first and only unanswered, busy and unreachable calls are redirected.
Can I turn off AT&T call forwarding without the phone?
Not with a code — it has to be dialled from the line being forwarded. If that handset is lost or dead, ask AT&T to clear it on 611 from another AT&T line or 1-800-331-0500.
Does AT&T call forwarding forward text messages too?
No — it's a voice service. Texts keep arriving on the handset as usual.
Why does my AT&T forwarding code fail?
Usually the string: a missing closing #, a space in the number, the wrong number format, or digits typed after a cancel code. After that, no signal, the wrong phone or SIM, or a plan that doesn't carry the feature. A code the network won't take returns an error and changes nothing.
Does AT&T call forwarding cost extra?
That depends on the plan. Some include it and some bill the forwarded leg as an outgoing call. Check the current terms with AT&T on 611 or 1-800-331-0500 before leaving forwarding switched on.
Official sources
Checked September 2026. Carrier codes and plan features change.
Related: Verizon call forwarding · Call forwarding on iPhone · Call forwarding for Android · Call forwarding on iPhone & Android · What is an AI phone assistant?