Changes at Twitter cause widespread disruption after Elon Musk’s takeover


SAN FRANICSCO — Elon Musk’s Twitter is a house of cards.

On two occasions recently, almost exactly a month apart, minor changes to Twitter’s code appeared to break the website.

The latest outage came on Monday, when thousands of users found they could not access links, images or other important aspects of the site.

“A small API change had massive consequences,” Twitter CEO Elon Musk wrote in a tweet on Monday, referring to the tool used by third-party developers who run programs that pull from Twitter data and send to its website. “The code stack is extremely crazy for no good reason. Will eventually need a complete rewrite.”

It was the second time on Monday that he had resorted to that explanation, both times calling the “crazy” site.

Since taking over Twitter, CEO Elon Musk has laid off more than two-thirds of the company’s employees, embarking on aggressive cost-cutting and partially laying off workers by forcing them to commit to an “extremely hardcore” workplace or leave the company. The massive layoffs led to widespread concerns about Twitter’s ability to maintain core functions as critical engineering teams were reduced to one or zero employees.

In the months since the takeover — and subsequent layoffs — Twitter has suffered multiple outages, hampering key functions: loading tweets and notifications, sending tweets and direct messages, accessing links and photos. Each was said — by current and former employees, or Musk himself — to come as the company made changes to its code.

“Any error in code and operations is now fatal,” one former engineer told The Washington Post in November, explaining that those left behind “will be overwhelmed, overburdened and because of that more prone to error.” The former engineer spoke on condition of anonymity for fear of retaliation.

Before Musk’s takeover, the company had a risk assessment team that examined product changes for anticipated problems. Twitter’s risk assessment process was geared to flag potential problems before they occurred. But the team was laid off after Musk took over, The Washington Post reported, leading to product rollouts that were riddled with errors.

Musk and Twitter did not immediately respond to requests for comment.

Since taking over Twitter, Musk has followed through with a plan to cut 75 percent of the company’s staff, aggressively cut costs and pursue new revenue streams, such as charging $8 a month for the company’s signature blue verification icons. But his tenure has also been marked by embarrassing mishaps, such as the botched rollout of the checkmark, which resulted in a swarm of copycats and prompted Twitter to temporarily pause the subscription service on several occasions.

Musk went after Twitter, pledging to restore “freedom of speech” to the platform, firing the company’s previous slate of executives whom he had accused of an approach to content moderation rooted in protecting against the harms of hate speech and misinformation. Musk also promised transparency about the old regime’s decisions — such as efforts to limit the spread of a New York Post story about the contents of Hunter Biden’s laptop — but has knocked down on leaks of company information under own leadership.

Even before Musk’s takeover, Twitter employees had warned of the site’s vulnerabilities in the event of a crash. Twitter whistleblower Peiter Zatko warned of a potential incident of overlapping outages at Twitter’s off-site data centers, for example, in a complaint obtained by congressional committees.

That type of outage, he said, could leave critical data unrecoverable — and cause Twitter to go down for months. Despite concerns about Twitter’s vulnerable infrastructure, Musk ordered Twitter’s largest data center in Sacramento to be shut down in December, The Washington Post reported at the time.

On Monday, Twitter users were met with errors almost as soon as they opened the page.

When users clicked on a link on Twitter, they were greeted with the message: “Your current API plan does not include access to this endpoint,” it said, directing them to a page meant for developers.

On the website Down Detector, which tracks online outages, complaints rose: “User reports indicate problems on Twitter,” it said.

“We made an internal change that had some unintended consequences,” Twitter’s support account said in a tweet.

By late morning, some of the functions appeared to be restored.

“Things should now be working as normal,” Twitter’s support account said in a tweet. “Thanks for sticking with us!”

The pattern on Monday mirrored a disruption from early February that occurred when Twitter made similar changes to its API, the data feed intended for developers.

Twitter faced a widespread outage on February 8 that left users unable to send tweets and direct messages, follow other accounts and load content into their timelines.

“Starting February 9th, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid base tier will be available instead,” Twitter wrote that month.

Musk said Twitter tried to crack down because Twitter’s freely available data was “abused” of bots that sell scams, but later said the company would make a free version available as criticism poured in over his aggressive efforts to monetize aspects of the site that were free before.

These problems followed a widespread global outage that Twitter faced in December.

In group chats between current and former engineers at the time, some speculated that the December outage had come after a software update went wrong.

Monday wasn’t the first time Musk suggested that Twitter’s code should be completely rewritten. He has maintained that position for several months since taking over since last year. On a December Twitter Spaces, the site’s live audio feature, he said the company’s code base needed to be overhauled.

Pressed by an attendee to explain what that meant, Musk grew irritated.

“Great, wow,” he said after hesitation and pauses. “You’re a bitch. … What an idiot.”

Leave a Reply

Scroll to Top
%d bloggers like this: