Voting on legislation is the main responsibility of Oakland City Councilmembers. It’s how the city makes big decisions, like budgeting for police and fire services, negotiating development deals, and approving new laws. Councilmembers’ votes also tell residents where their elected representatives stand on hot-button issues such as homelessness and public safety. 

But councilmembers aren’t always present at meetings where votes are taken. Sometimes this is for unavoidable reasons, like family emergencies. Other times it’s because a councilmember wants to focus on a different aspect of their job, like meeting with constituents or lobbying for resources in the state capital. And sometimes they miss votes for less understandable reasons: they were late to work or went home early because they got tired of hearing their colleagues talk. (Yes, this has really happened.)

The City Clerk—who produces the agenda for each meeting, among other administrative duties—tracks when councilmembers vote and when they don’t. The city posts this information online, but it’s tough to get a complete picture of a councilmember’s voting record unless you scroll through hundreds of pages of meeting minutes. The minutes also don’t explain why a councilmember missed a vote, either. 

The Oaklandside recently combed through meeting minutes from January through July of this year, and spoke to almost every councilmember about why they missed certain votes, to find this information for you. 

Before getting to the findings, a few caveats.

It isn’t easy to count all the council votes. In some meetings, councilmembers cast multiple votes to amend an item, or take a single vote on several related resolutions. During full council meetings, councilmembers cast a single vote to approve the consent agenda–a list that often includes dozens of pieces of legislation. Sometimes the clerk might not record how each councilmember voted during some committee meetings. Also, many pieces of legislation pass through multiple committees before they’re approved by the council. That means a councilmember who misses a vote in a committee might still get a chance to vote on legislation when it comes before the full council. 

We had to make judgment calls on which votes to use in our tally. We did not include some procedural items, such as votes to prolong or reconvene meetings. Councilmembers sometimes vote to amend or substitute items before approving them. These can be important to understand how a rep feels about a particular issue, but for the most part we didn’t include these votes. We wanted to focus on the up-or-down votes for items listed on each meeting’s agenda. We focused on votes in open session meetings, so we also didn’t include absences during closed session meetings, where councilmembers approve legal settlements. 

We excluded votes that were missed during a Community and Economic Development meeting on March 28 that was canceled due to lack of quorum. Councilmembers Dan Kalb and Noel Gallo were out of town, and it appears the meeting should have been canceled in advance. 

That said, we feel confident that our method was fair and accurate for the purpose of comparing the councilmembers’ voting records. Here’s some takeaways.

How many votes did your Oakland City Councilmember miss so far this year?

There were 25 City Council meetings between January and July this year. January saw the inauguration of two new councilmembers—Kevin Jenkins and Janani Ramachandran. In May and June, the council deliberated on the city budget. And in August, the council took a two-month recess. In the seven months in between, the councilmembers debated and voted on dozens of major pieces of legislation. 

All these meetings offered 137 opportunities for councilmembers to vote. These votes included rote matters like approving minutes for previous meetings or receiving informational reports from staff. Other votes approved ordinances and significant policy changes, and in June, the Council approved the city budget. 

Each of Oakland’s eight councilmembers had the chance to vote on all 137 items.

Council President Nikki Fortunato Bas had the council’s best voting record, missing just one vote out of 137. 

Councilmember Noel Gallo had the worst voting record for council meetings in this time period. He missed 28 votes, about 20% of all votes taken between January and July this year. 

The other councilmembers all missed between less than 1% and 16% of votes between January and July.

John Pelissero, a senior scholar at the Markkula Center for Applied Ethics at Santa Clara University, said it would be a serious problem if councilmembers missed half the votes in a legislative session. But missing a fraction is still unusual and concerning, he said.

“If they’re not there to cast votes on some regular basis, that denies fair representation to their constituents,” Pelissero told The Oaklandside.

“Electeds need to develop a clear voting record, and they do that by showing up at the job,” said Gail Wallace, president of the Oakland League of Women Voters. “If they don’t do it, voters aren’t going to have the information they need when it comes time to reelect them or not.”

Councilmembers can be excused from a meeting or a vote if they have a scheduling conflict or some other reason that requires they be away from the dais. This is logged in the minutes as an “excused” absence. If a councilmember doesn’t give notice before missing a vote or meeting they are listed as “absent.” Under the council’s rules of procedure, if a councilmember is late to a committee meeting or absent three times, the council president is allowed to remove them from the committee assignment.” As far as we can tell, this rarely if ever happens.

On top of the 137 votes that councilmembers can enter in full City Council meetings, Oakland also has six main legislative committees: Finance and Management; Rules and Legislation; Public Safety; Public Works and Transportation; Life Enrichment; and Community and Economic Development. Committees are where policies and reports are first discussed by councilmembers, who then get to decide whether to send an item to the full City Council for final approval or more discussion. They are where the legislative sausage is made.

There were 73 committee meetings between January and July, with 371 additional voting opportunities. 

Councilmembers are usually assigned to work on just two or three committees, so no representative had the chance to vote all 371 times. The Oaklandside found only one case where the absence of councilmembers–excused or otherwise–denied a committee its quorum, the minimum number of members needed to take official votes and approve or reject legislation. This was the March 28 Community & Economic Development Committee meeting.

A closer look at each Oakland city councilmember’s voting record in 2023

Dan Kalb, District 1

Oakland Councilmember Dan Kalb speaking into a microphone in the council chambers.
Oakland Councilmember Dan Kalb (D1) at the first in-person council meeting since the COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Kalb missed 22 votes during full City Council meetings, 25 votes in Rules committee meetings, 4 votes in Public Works meetings, and 5 votes in Community and Economic Development meetings. 

Kalb missed 56 votes altogether, all but two of them excused.

18 of the council votes that Kalb missed happened on March 21. Kalb told The Oaklandside he was out of the country during this meeting, which he said was not a vacation but declined to discuss. He said the trip was planned months in advance, and he consulted with his staff before leaving to ensure he wouldn’t miss any controversial or close votes.

Most items discussed on March 21 received unanimous approval from the council. Only two items had relatively close votes. One was a proposal to increase the grant agreements with organizations that run the Town Nights, a series of community events meant to help prevent violence. The other was to approve a report on the councilmembers’ budget priorities. Both items received five votes, the minimum needed for approval.

“Most of the times I missed votes were for work-related obligations,” Kalb said, noting that he’s been on the council for over a decade. “I have a very strong attendance overall for meetings and very rarely miss a meeting for any reason.”

Kalb said scheduling conflicts caused him to miss several Rules meetings.

On January 26, February 23, and June 22, he was out of town attending meetings of the League of California Cities. The League, of which Kalb is a member of the board of directors, holds conferences that offer training, education, and other resources for lawmakers. Kalb attended as a board member and a representative for Oakland.

On February 2, Kalb represented Oakland in Sacramento at a conference hosted by the California Strategic Growth Council, which works with public agencies and community leaders to advance policy solutions for affordable housing, climate resilience, and other issues.

On March 23 and 30, Kalb was on his overseas trip. 

On May 25 and July 20, Kalb was out of town on personal business.

Kalb missed a handful of votes for Public Works meetings. He said he was excused from the May 9 meeting because he was in Sacramento lobbying on several housing and social services bills on Oakland’s behalf. 

“No one expects somebody to be there 100% of the time,” Kalb said about his voting record. “I’ve never even heard of that happening.” 

Nikki Fortunato Bas, District 2

Councilmember Nikki Fortunato Bas speaking into a microphone in the council chambers.
Oakland Council President Nikki Fortunato Bas (D2) at the first in-person council meeting since the COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Bas missed 1 vote during full City Council meetings and 3 votes in Rules committee meetings. In total, she missed 4 votes, all excused.

The one council vote Bas missed was on April 18 to approve the consent agenda, a list of resolutions that typically get approved without discussion. Bas couldn’t recall why she had missed that part of the meeting.

Bas missed one Rules meeting on June 29. During Rules meetings, councilmembers schedule resolutions, reports, and ordinances for future meetings. Bas told The Oaklandside she had planned a trip out of town with her family to happen after the council approved the 2023-2025 budget on June 26.  

Bas serves as Council President, which means she runs council meetings. She said she takes pains not to schedule anything during the day or in the evening that might conflict with council meetings.

“I take my job very seriously,” Bas said. “We are primarily legislators, and the most important part of our job is to show up at our committee and council meetings to deliberate and cast votes.”

As part of her job, Bas must preserve a quorum of five councilmembers during council meetings. Per city law, it can’t do business if the council doesn’t have a majority present. This can be tough during long meetings on important issues because some councilmembers need to leave for family reasons. 

Full city council meetings are scheduled for 4pm every other Tuesday, although the council occasionally changes the date or time for special meetings. Council meetings usually last several hours, and if there are significant pieces of legislation or hearings, it’s not unusual for a meeting to go past midnight. 

Bas said she is looking at ways to update the council’s rules of procedure to make meetings more focused and time-efficient. Recently, Bas started timing her colleagues and herself during council meetings to keep discussions from going too long. 

Carroll Fife, District 3

Oakland Councilmember Carroll Fife wearing a mask and speaking into a microphone in the council chambers.
Oakland Councilmember Carroll Fife (D3) at the first in-person council meeting since the COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Fife missed 8 votes during full City Council meetings, 4 votes in Rules committee meetings, 1 vote in Public Safety meetings, and 7 votes for Community and Economic Development meetings. In total, she missed 20 votes, all excused. 

On February 3, Fife missed a routine vote on an orientation for City Council members and an overview of city departments. Fife told The Oaklandside she was busy that day conferring with attorneys about harassment and threats she has received.

On March 21, Fife was excused from a vote on an emergency ordinance to approve policies for how Oakland Police Department can use certain kinds of militarized equipment. Fife was present at the meeting and couldn’t recall why she wasn’t in her seat for that item. In a recording of the meeting, Fife asked to be excused to deal with an emergency.  

Fife missed five votes during the February 14 Community and Economic Development meeting, including a vote to authorize the City Administrator to apply for and use state grant funds for housing. Fife said she missed this meeting because she was helping facilitate the closure of a homeless encampment at Fitzgerald Park. She also missed a January 19 Rules meeting because she was in Sacramento attending a conference held by the League of California Cities.

“I try to be there for every single vote, no matter how trivial, no matter how big,” Fife said. “I don’t avoid conflict. I don’t avoid the difficult votes. I want people to understand what I stand for.” 

Janani Ramachandran, District 4

Oakland Councilmember Janani Ramachandran speaking into a microphone in the council chambers.
Oakland Councilmember Janani Ramachandran (D4) at the first in-person council meeting since the COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz

Ramachandran missed 17 votes during full City Council meetings, 6 votes in Rules committee meetings, and 8 votes during the Finance committee meetings. In total, she missed 31 votes, with six logged as unexcused.

One-third of the missed votes happened during a June 6 City Council meeting Ramachandran was unable to attend because she was sick. She was excused from those votes. One was an update to Oakland’s Just Cause for Eviction Ordinance, which outlines how and when a landlord can remove a tenant from a property. Ramachandran had opposed the amendment when it was introduced in April, saying it was redundant with how judges interpret existing laws that govern evictions.

Ramachandran attended the July 18 City Council meeting but was absent for three of the day’s votes. One was to approve an emergency ordinance ensuring all tenants displaced by a flood from the Coliseum Connections complex would have access to relocation assistance money, regardless of income. Ramachandran told The Oaklandside she missed this vote because after seven hours on the dais, she desperately needed to use the restroom. She tried to get back in time for the vote but missed it by a few minutes. The seven remaining councilmembers all voted to approve the emergency ordinance. 

Ramachandran noted that she rarely gets up during committee meetings, which are generally only a few hours long. But it’s more challenging during full council meetings, which can run 10-12 hours. She also noted that councilmembers sometimes have to miss votes to attend to family emergencies and other pressing issues.    

“The public has to recognize we’re human, and there are things we need to do to take care of ourselves, emotionally and physically,” Ramachandran said. “We shouldn’t be expected to be considered like robots.”

Noel Gallo, District 5

Oakland Councilmember Noel Gallo smiling and speaking into a microphone in the city council chambers.
Oakland Councilmember Noel Gallo (D5) at city hall for the first in-person council meeting since COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Gallo missed 28 votes during full City Council meetings, 1 vote in Life Enrichment, and 3 votes in Community and Economic Development. In total, he missed 32 votes.

Over half of Gallo’s missed votes were unexcused absences—the highest percentage of any councilmember by a large margin. Gallo missed several votes because he left City Council meetings early, sometimes hours before they adjourned. 

Gallo rarely misses votes in committee meetings, where he says the real work of legislating happens. But Gallo sometimes departs early from council meetings, where resolutions, ordinances, and other legislation are often finalized. He says these sessions take longer than they should because some of his colleagues talk too much.

“If I step out, it’s due to the fact that I needed to do something early the next morning, or I didn’t want to sit there and listen to more BS,” Gallo said.  

On June 14, Gallo left a council meeting early and missed the vote to approve Council President Nikki Fortunato Bas’ proposed amendments to Mayor Sheng Thao’s 2023-2025 budget. This was a significant meeting where dozens of public commenters pleaded with the council to fund services ranging from the Department of Violence Prevention to nutrition programs. Oakland had a $360 million deficit in its general fund, and councilmembers spent a chunk of the evening negotiating with each other over how to spend limited resources on critical projects in their districts.

Gallo complained that everyone had “10 amendments to make” during this meeting. His own proposed budget amendments are not recorded among the meeting’s materials, which include suggested amendments from all other councilmembers.  

Gallo has been absent during at least one vote to address a significant public safety issue in Oakland. On February 16, he was absent when the council ratified a state of emergency over a ransomware attack that downed several of the city’s non-emergency services and eventually leaked sensitive internal data onto the dark web.

Gallo didn’t have an explanation for why he missed this vote. According to council records, he voted to extend the ransomware state of emergency in subsequent meetings. 

On June 6, Gallo was absent when his colleagues approved an update to Oakland’s Just Cause for Eviction Ordinance, outlining how and when a landlord can remove a tenant from a property. The council approved an amendment that requires landlords to prove that a renter caused “substantial actual injury” to the property owner or other tenants before they can be evicted. Supporters said this prevents landlords from using technicalities in their leases to boot tenants.

“I supported that, and I knew the votes were there,” Gallo said, explaining why he didn’t feel his missed vote would matter. The policy passed with the minimum required five votes. Gallo voted to give final approval for this item when it returned to council two weeks later on the consent agenda. 

On May 16, Gallo left the Council meeting before a vote to approve the new City Administrator, Jestin Johnson, and approve his salary ($340,000). Gallo told The Oaklandside he had doubts about hiring Johnson but didn’t want to be “disrespectful” by voting no.

“I knew they had the majority of votes for that action, and I just didn’t want to publicly challenge or question it,” Gallo said. “And I don’t like to abstain.” 

Kevin Jenkins, District 6

Oakland councilmember Kevin Jenkins looking down at a microphone in the council chambers.
Councilmember Kevin Jenkins (D6) at Oakland City Hall in March 2023 during the first in-person city council meeting since the COVID-19 pandemic began. Credit: Amir Aziz.

Jenkins missed 20 votes during full City Council meetings, 2 votes in Public Works, and 9 votes in Community and Economic Development. In total, he missed 31 votes, all but five of them excused.

On June 6, Jenkins attended a council meeting virtually while he was in Barcelona, Spain. He dialed into the meeting late and was excused from several votes, including accepting and awarding state grant funds for homeless services.

Jenkins said he left the June 28 council meeting early to attend a public safety meeting in his district. As a result, he missed a vote to award a grant to Oakland’s tourism bureau to support small businesses and lead a public safety campaign to reduce property crimes.

On July 18, he missed a couple of votes, including approving the consent agenda, because he was meeting with residents from Coliseum Connections. This East Oakland apartment complex flooded in January, displacing hundreds of residents.

Jenkins missed some routine votes like approving draft minutes and scheduling items during Community and Economic Development meetings. He said this was because he’s assigned to three committees that have back-to-back meetings on the same day. 

“I have a 9 a.m. meeting in Finance, and that will run into the Public Works meeting, and that will run into the Community and Economic Development meeting,” Jenkins said. “I’ll run out and grab lunch during the less controversial items.”

Treva Reid, District 7

Councilmember Treva Reid smiling and sitting behind the dais of the city council chamber.
Oakland Councilmember Treva Reid (D7) at the first in-person city council meeting since COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Reid missed 11 votes during full City Council meetings, 5 votes for Public Safety, 4 votes for Life Enrichment, and 22 for Public Works. She missed 42 votes total, all but five of them excused.

Most of Reid’s missed council votes happened on July 18. Reid teleconferenced into this meeting while she was in Ohio for personal travel. Reid was present for much of the meeting but was excused from votes to approve the assessments for the Jack London Business Improvement District, legislation related to the boundaries and financing of the Brooklyn Basin development, and authorizing a bigger contract for the homelessness services organization Operation Dignity.

On April 10 and 11, Reid missed Public Safety, Life Enrichment, and Public Works meetings. As a result, she missed discussion and votes on several pieces of legislation, such as authorizing a creek restoration construction project and approving a revised emergency operations plan for the city. She later voted to approve these items when they appeared on the council’s consent agenda. Reid said she was in Indiana on vacation to witness her cousin be sworn in as a federal judge.

“That was a pretty special occasion, and I did not want to miss that historic moment,” Reid said.

Reid was excused from the first Public Works meeting of the year on January 23. She had scheduled a community meeting for that day before the committee terms and assignment dates had been released.

Reid said she was late to a Public Works meeting on April 25 but didn’t miss any substantial votes. On May 9, she had to leave a Public Works meeting early for a medical appointment. She was excused from a vote authorizing construction contracts for sewer services.

Reid said she’s worked to advance policies for the most disenfranchised residents in the city, citing as an example a resolution to support California’s creation of an “Ebony Alert” to broadcast information about missing Black youth and women. 

“I stand on all my votes that come through proactive meetings, research, outreach, and engagement with community members and organizations,” Reid said. “I’ve also not taken a vote against the strong will of the 63,000 plus neighbors I was elected to represent in District 7.”

Rebecca Kaplan, At-Large

Oakland Councilmember Rebecca Kaplan (at-large) at the first in-person city council meeting since COVID-19 pandemic began in Oakland, Calif. on Mar. 7, 2023. Credit: Amir Aziz.

Kaplan, who has served on the City Council since 2009 as a representative for the entire city, missed 14 votes during full City Council meetings, 18 votes for Finance meetings, and 6 votes for Public Safety. In total, she missed 38 votes, all but five of them excused.

Kaplan did not respond to multiple interview requests, so why she didn’t vote during these meetings is unclear.  

On March 3, Kaplan missed a City Council meeting where her colleagues received informational reports on priorities for the 2023-2025 biennial budget. On June 14, she was excused from the council meeting where her colleagues voted on proposed amendments to the biennial budget. 

On May 2, Kaplan was absent during a vote concerning the Brooklyn Basin Marina expansion project. Kaplan was either excused or absent from any votes concerning this project during other meetings.  

Kaplan was previously fined by the Public Ethics Commission for not disclosing her ownership of a condominium next to Estuary Park, which she voted to expand with city funds. The park is close to the Brooklyn Basin site, so it’s likely Kaplan recused herself from these votes to avoid a conflict of interest, although they aren’t recorded as recusals in meeting minutes. During the October 3 City Council meeting, Council President Bas noted that Kaplan was recusing herself from a vote on this issue, and that is reflected in the minutes.

Kaplan was excused from three consecutive Finance meetings on March 28, April 11, and April 25. As a result, Kaplan missed a vote to receive an informational report from the finance department on Oakland’s five-year financial forecast, among other items.

Kaplan also missed a March 28 Public Safety meeting where her colleagues voted to approve a contract with a helicopter maintenance company for the upkeep of OPD’s fleet and to accept a grant from the federal Justice Department for OPD.

Eli Wolfe reports on City Hall for The Oaklandside. He was previously a senior reporter for San José Spotlight, where he had a beat covering Santa Clara County’s government and transportation. He also worked as an investigative reporter for the Pasadena-based newsroom FairWarning, where he covered labor, consumer protection and transportation issues. He started his journalism career as a freelancer based out of Berkeley. Eli’s stories have appeared in The Atlantic,, Salon, the San Francisco Chronicle, and elsewhere. Eli graduated from UC Santa Cruz and grew up in San Francisco.